ブロックチェーンと連携した投票/抽選システムを作ってみた!!

「ブロックチェーンと連携した抽選システムを作ってみた」イメージ画像

こんにちは。 アステリアのチャです。

6月20日に発表された、東京オリンピックの抽選結果。皆さんは応募されていましたか?

チャももちろん応募しましたが、全て当たったら大変なので、本当に行きたい10セッションほどを厳選しました。

開会式・閉会式はもちろん、バスケットボール、バレーボールと、最近日本選手の活躍が目立つバドミントンや卓球など。もちろん当たりやすい予選や、少しお高めなシートも含めて、家族全員のアカウント作って応募しました。

どれも人気の競技ですが、何かしら当たるだろうと思っていたのが、甘かったですね。全て落選。。。

当選した方は複数競技当たっているみたいですし、どのように抽選しているのか、気になるところです。

「Ethereum(イーサリアム)」連携アダプターご紹介

抽選といえば、5月に行われた弊社パートナー様向けのイベントでの投票/抽選システムを、ブロックチェーンと連携して作ってみました。

毎年ASTERIA Warpを販売いただいているパートナー様向けに事業戦略をご説明するのが”Partner Summit”です。この場では”Project Award”のプレゼン大会も実施します。各社より事前にエントリーして頂いたASTERIA Warpを利用したプロジェクトの中からアステリア社員により3プロジェクトを選定。当日はそのプロジェクトを担当された3社による真剣プレゼン勝負!来場者の皆さんに投票をいただき優勝を決定します。さらに、投票いただいた方にはお礼としてプレゼントをご用意し抽選会を開催しました。今回その投票/抽選システムに、株式会社アイ・エス・アイソフトウェアー様が提供する「ASTERIA Ethereumアダプター」を利用し、投票/抽選システムとバックエンドのブロックチェーン(Ethereum)を連携。透明性が高く、改ざんができない投票/抽選システムを構築しました。

「投票/抽選システム」の構成はこんな感じ↓

Ethereumアダプターを利用した投票/抽選システムの構成図

Asteria Warp + ethereum

このうち「投票システム」については、株式会社アイ・エス・アイソフトウェアー様が構築してくれたので、簡単に流れだけ説明しておきます。

まず、Googleフォームでエントリー企業を選択し「投票」。するとURLトリガーで投票システムのフローが実行されます。 投票システムではブロックチェーンを利用し、投票権を持っているかどうかを確認し、投票権があれば投票が行われます。(ブロックチェーンなのでコインが送金されます) さらに、2回以上の投票をしたら重複投票になってしまうので、投票したかどうかを確認するため、投票者から送金できる残高をチェックすることで2重投票を防ぎます。

続いて、「抽選システム」の内容はこちら↓

まず、抽選システムのメインの流れはこのようになります。

Mainフロー

MainフローはURLトリガーによって起動し、パラメーターの値によって抽選のメイン画面や抽選結果画面の表示、抽選処理等を行うように構成しました。

次に、「3.抽選処理」の中身を見てみましょう。

抽選処理フロー

抽選処理フローではNextFlowコンポーネントを利用して「再帰呼び出し処理」を実現してみました。
ASTERIA Warpで再帰呼出し処理が実装できるのはなかなかおもしろいですね。
また、Rand関数を利用して乱数を生成し、抽選処理で使っております。

今回は最大300人の投票者がいることを想定してRand関数を設定しています。
当選番号の有効性、重複状況をチェックし、有効な当選番号のみカウントアップする処理を行っています。

最後に、今回の目玉?!である、ブロックチェーンを利用した抽選対象IDの有効性チェックの処理です。

ブロックチェーンチェックフロー

抽選データの初期化処理で対象IDをブロックチェーンでチェックしています。 上述でも説明しておりますが、Ethereumのアカウントは投票者と対象プロジェクトの2種類があり、投票者が持っている1コインを対象プロジェクトに送金する形で1票を投票しますので、投票者が持っているコイン(残高)をチェックすることで投票したアカウント(抽選対象アカウント)であるかチェックすることができます。

最後に

いかがでしょうか。

ASTERIA Warpを利用すると、データの連携処理だけではなく、社内にある様々な業務やこのようなイベントなどにも活用いただけます。また、簡単な実装でブロックチェーンとの連携も行えるので、皆さんも是非活用してみてください。

もちろん、ノーコードなので、知識がなくても簡単に使えますよ!

そして、もう一度、オリンピックチケットの2次販売もあるということで、今度こそは!と思っているチャでした。

関連記事

プレスリリースについてはこちらをご覧ください。

「Ethereum(イーサリアム)」連携アダプターはこちらをご覧ください。



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
簡単データ連携を体験してみよう!

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
執筆者:車 淳一

執筆者:
車 淳一

ASTERIA Warpのプロダクトマーケティングを担当。ADNブログへの執筆も行っています。こちらのブログへはオプション機能の紹介や便利な使い方などの情報を配信していきます。

ASTERIA Warpと色々つないでみた特集!記事はこちら>

「ASTERIA Warp、データ分析、クラウド、業務効率化、最新技術」人気!ホワイトペーパーダウンロード受付中!今すぐチェック

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X アステリア製品オンラインコミュニティ

ASTERIA Warpデベロッパーの方

アステリア製品オンラインコミュニティ
Asteria Park

アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ