2021年7月ブロックチェーン勉強会のworkshopで用いるサンプルコード
-
Dockerを使った開発モードのtapyrus nodeの立て方と操作方法については以下を参照
-
Gluebyの使い方については以下を参照
Gluebyの一番基本的なContractであるGlueby::Contract::Paymentを用いた送金処理をrake taskとして実装している。 以下の手順に従っでtaskを試すことができる。
-
tapyrus nodeを起動する
docker-compose up -d tapyrusd
-
dbを作成する。
bundle exec rails db:migrate
-
faucet, sender, receiverのwalletを生成する。以下のコマンドを3回発行する。
bundle exec rails tapyrus:createwallet
-
生成されたwallet idをlib/tasks/tapyrus.rakeのFAUCET_ID, SENDER_ID, RECEIVER_IDに設定する。
-
blockを生成する。
bundle exec rails tapyrus:generate bundle exec rails glueby:contract:block_syncer:start
-
faucetからTCPを引き出す(faucetからsenderに送金する)。
bundle exec rails tapyrus:faucet
-
blockを生成してtransactionを確定させる。
bundle exec rails tapyrus:generate bundle exec rails glueby:contract:block_syncer:start
-
senderからreceiverにTCPを送金する。
bundle exec rails tapyrus:payment bundle exec rails tapyrus:generate bundle exec rails glueby:contract:block_syncer:start
-
faucet, sender, receiverの残高を確認する。
bundle exec rails tapyrus:getbalance
- lib/tasks/tapyrus.rakeのより詳細な情報については、 skeleton ブランチを参照
- Gluebyのその他のContractの使用例については、 all_samples ブランチを参照
- Gluebyを用いたWeb Appの作成方法については、 web_ui ブランチを参照