HiÐΞClassic

Bunzz ×bubbleでノーコードDapps開発してみた

おさけ
3 years ago
Bunzz、bubbleのアカウント作成BunzzでDappをデプロイするまでbubbleでフロントエンドを作成してBunzzと連携するまでUI上のアクションとBunzz SDKの繋ぎ込みappのプレビューとテスト

Bunzzでスマートコントラクトのバックエンドを作成し、bubbleでフロントエンドを作るテストをしてみたのでまとめておきます。

今回試してみたこと

ERC20で「sake」トークンを発行して、bubbleで作成したapp上でテスト送金するまでを試してみました。

Bunzz、bubbleのアカウント作成

まずBunzzとbubbleのアカウントを作成します。

・Bunzz(https://www.bunzz.dev/)

・bubble(https://bubble.io/)

Bunzzのアカウント作成

ユーザー名、メールアドレスなどを入力してBunzzへ登録します。

bubbleアカウント作成

Google連携でのサインアップも可能です。

BunzzでDappをデプロイするまで

Bunzzのホーム画面左メニューから「DApps」を選択すると、自分のDAppsが一覧になっています。

「Create Dapp」から新規のDappを作成します。

次の画面でDappに名前をつけます。今回は「test」としました。

次に、今回作成するDappの種類を選びます。

BunzzがDapp用のテンプレートを用意してくれているので、目的に合わせて選択する形です。

今回は「Simple Token」を選択しました。これはERC20トークンを作成する種類のDappです。

「Simple Token」を選択すると、次のページで作成するトークンの名前とシンボルを決めます。今回はどちらも「sake」にしました。

「Import to Dashboard」で、今回のモジュールがDAppのダッシュボード画面に追加されます。

今回作成したDApp「test」のダッシュボード画面です。

先ほど作成した「Token (ERC20)」がダッシュボードに追加されているので、「Deploy」をクリックするとデプロイされます。(ガス代が発生します)

bubbleでフロントエンドを作成してBunzzと連携するまで

bubbleの新規app作成

bubbleのホーム画面から、右の「New app」ボタンを押して新規appを作成します。

名前やappの種類、目的を入力(または選択)します。

今回は以下の様に入力しました。「Create a new app」を押して作成します。

appの編集画面が開きます。UIはあらかじめ用意されたテンプレートで作成されます。

bubbleでUIを作り始める

appの要素としては、以下4つのみで構成するシンプルなものを作成してみます。

  • 「Connect Wallet」ボタン
  • 「Address」(トークン送付先アドレス)入力欄
  • 「Amount」(トークン送付量)入力欄
  • 「Send」(トークン送付の確定)ボタン

今回は一旦ファーストビュー中央にあったコンテンツを削除し、ここにAppの要素を置いていく形にします。

Bunzz連携

bubbleにBunzz SDKのプラグインを追加します。

左メニューの「Visual elements」から「Install more...」を選択します。

プラグインの検索画面になるので、"Bunzz"で検索すると、「Bunzz SDK」が出てきます。

「Install」を押してインストールし、「DONE」をクリックしてUI編集画面に戻ります。

戻ると左メニューの「Visual elements」内に「Bunzz SDK」が追加されているので、これを選択してapp内の適当な場所に配置します。

Bunzzの「Dapp ID」と「API Key」が必要になるので、Bunzz側の画面を見にいきます。

Bunzzの管理画面左メニューから「Client SDK」を選択すると、今回作成したDappのIDとAPI Keyを確認できるので、これをbubble側、先ほどの「Dapp ID」「API Key」にそれぞれ入力します。

UIを作っていきます。左メニューの「Visual element」から、ボタンや入力ボックスを選択して追加していきます。

まずはボタンを追加し、「Connect Wallet」としました。

ポチポチ追加していくだけなので非常に簡単です。入力ボックスも追加し、以下の様になりました。

UI上のアクションとBunzz SDKの繋ぎ込み

ユーザーがボタンをクリックした際にウォレットを接続したり、送金を行ったりといった、アクションの部分を実装していきます。

「Workflow」ページでの設定

左メニューの「Workflow」タブをクリックします。

Workflowページではapp上での様々なイベントを設定していきます。

イベント設定は、①イベント発生のトリガーを設定した上で、②それによってどんなアクションを実行するのか、という2段階で設定していきます。

まずはウォレット接続を実装してみましょう。

①「Connect Wallet」ボタンのクリック」をトリガーにして②ウォレットの接続を実行する、というイメージですね。

まずは「Clickhere to add an event...」をクリックします。

まずはイベントのトリガーとしてボタンのクリックを設定したいので「An element is clicked」を選択します。

次に、どのelementか、を選択するので、「Connect Wallet」ボタンを選択します。

これで「Connect Wallet」ボタンがトリガーになったため、次にアクションの部分を設定します。

イベントとしては、「Bunzz SDK」のセットアップと、ウォレットの接続を設定します。

「Click here to add an action...」をクリックし、実行するアクションを選択します。

まずは「Setup a Bunzz SDK」を選択します。

次に、もう一つアクションを追加し「Get Signer Address a Bunzz SDK」を選択します。

このアクションで、接続したユーザーのウォレットアドレスを取得し、この後のアクションで利用することができます。

次にトークンの送付を実装してみましょう。次は「Send」ボタンをトリガーにします。

「Update Action a Bunzz SDK」を選択します。

 

「Module Name」にはBunzzで作成したモジュール名の「Token (ERC20)」を入力します。

「Function Name」は「transfer」、「Arguments」の部分でさらにkeyとvalueを追加して、「recipient」は入力ボックス「Input Address」の値、「amount」は入力ボックス「Input Amount」の値をそれぞれ取得する様にします。

補足:「Function name」と、追加するkey、valueの確認方法

Bunzzの管理画面から、Appのダッシュボードにいき、上部の「Go to Smart Contract Dashboard」で、スマートコントラクトのダッシュボードに移ります。

こちらのダッシュボードでは、このモジュールで利用可能なFunctionが一覧で確認でき、実際に操作することも可能になっています。

Functionの色が青色のものは、スマートコントラクトに対して「読み取り」だけを行うもの、黄色は「更新」を必要とするもの(ガス代が発生するトランザクション)です。

「transfer」の項目を見にいくと、「recipient」と「amount」が必要であることがわかります。

また、この画面上では実際にトランザクションを発生させられるので、少しsakeトークンをmintしてみましょう。

「mint」の項目へ行き、walletアドレスとamountを入力、「mint」ボタンを押すだけでmintが完了します。今回はsakeトークンを100枚mintしてみました。

appのプレビューとテスト

Workflow側の設定を終えたので、appをプレビューしてテスト実行してみたいと思います。

bubble編集画面の右上「Preview」からプレビューが可能です。

「Connect Wallet」でウォレットを接続後、送り先のアドレスと枚数を入力し、「Send」ボタンを押してみます。

メタマスクが起動し、送金確認されます。

送付を完了後、あらためてBunzz側の「balanceOf」Functionから今回の送付先アカウントでのトークン数を確認してみると、無事10枚送付されていることが確認できました。

 


コメント
いいね
投げ銭
最新順
人気順
おさけ
3 years ago
コメント
いいね
投げ銭
最新順
人気順
トピック
アプリ

Astar Network

DFINITY / ICP

NFT

DAO

DeFi

L2

メタバース

BCG

仮想通貨 / クリプト

ブロックチェーン別

プロジェクト

目次
Tweet
ログイン