LoginSignup
0
0

More than 3 years have passed since last update.

世界一と噂されるCARDANOのステークプールを立てる ~ TestNet セルフノード編 #送金トランザクション

Last updated at Posted at 2019-10-31

こんにちは!
サトー@CARDANOステーキングプールです。今日は、「カルダノブロックチェーン 送金トランザクションの実行」について書いていきます。

(注)「世界一と噂されるCARDANOのステークプールを立てる ~ TestNet セルフノード編」の 記事は、次の記事で構成されています。
1. 世界一と噂されるCARDANOのステークプールを立てる ~ セルフノードのインストール
1. 世界一と噂されるCARDANOのステークプールを立てる ~ セルフノードの起動
1. 世界一と噂されるCARDANOのステークプールを立てる ~ アドレスの設定
1. 世界一と噂されるCARDANOのステークプールを立てる ~ 送金トランザクションの実行
1. 世界一と噂されるCARDANOのステークプールを立てる ~ ステークプールの作成

1.はじめに

2019年10月18日現在、カルダノ ブロックチェーン プロジェクトは、カルダノネットワークを分散化するためのステップとして「Shelley(シェリー)」の開発を行っています。
開発にあたって「Shelley(シェリー)」は、以下の3段階のマイルストーンが設定されています。
 ・セルフノードの実装とホスティング
 ・ネットワークテスト
 ・インセンティブステージ

今回は、「セルフノードの実装とホスティング」のステップにおける「セルフノード環境でのトランザクションを新規に作成、トランザクションに情報を書き込み、証人情報の入力、トランザクションを発行」について行い、まとめてみました。アドレスをデバッグ、テストするためのJCLIのコンポーネントを利用しています。

この記事の内容を実施する前に、「セルフノードのインストール」(#URLリンク)、「セルフノードの起動」(#URLリンク)を行う必要があります。

1-1. 環境

Windows10 Pro
Ubuntu 18.04.3 LTS

2.具体的な手順

①蛇口からAさんにスクリプトファイルを使用して資金を送金する

ノードを起動

「カルダノブロックチェーン セルフノードの起動」(自己記事へのリンク)☆★

送信先(Aさん)の秘密鍵、公開鍵、アカウントアドレスをテスト用に作成する。

秘密鍵の生成するコマンド
jcli key generate --type=Ed25519Extended > receiver_secret.key
関連する公開鍵を取得するコマンド
cat receiver_secret.key | jcli key to-public > receiver_public.key
アカウントアドレスを取得するコマンド
jcli address account --testing $(cat receiver_public.key)

2019-10-22_22h16_10.png

スクリプトはノード起動時に、フォルダ内に自動生成される「faucet-send-money.sh」を使用する。

2019-10-22_22h19_27.png

蛇口とAさんの情報をまとめると以下の通り

尚、蛇口の秘密鍵は、faucet-send-money.sh内に定数として書き込まれています。

            蛇口 Aさん
秘密鍵 ed25519e_sk12r4560athjfp0urtch8e9fxc4y7dug8k5ggfv59qtjr0q9crhf8u8nntmpsyuxt7hrt6qczzsy8j4x8ykvmquva493akng0f84epf4gy2d4sh ed25519e_sk1jqsz76k5zwpf7npkk3t9n0z7ans052l0j03khe2xtdspd9duf9924axs2wnuvq4j6ku090h0cxeaudzcl9jrssjyruv7fj2d4u70vfsggruvz
公開鍵 ed25519_pk10n843jqf3t2nkf048u80e44zcuac2ck5t0m979rxvfj9t6w5n9zs4ff8q8 ed25519_pk1wulv27zj09j00jeayl0ex2206lttg809vmaa47qfwqpd0k3dae9qa6pymq
アカウント ca1s47v7kxgpx9d2we975lsalxk5trnhptz63dlvhc5ve3xg40f6jv52r700za ca1s4mna3tc2fukfa7t85nalyeffltaddqau4n0hkhcp9cq94769hhy552gygl

faucet-send-money.sh スクリプトファイルを実行して資金を送金

それでは、実際に、faucet-send-money.sh スクリプトファイルを実行して資金を送金してみます。

コマンドは以下の通りです。
./faucet-send-money.sh <送付先のアカウントアドレス> <資金>

2019-10-22_22h48_39.png

蛇口アカウントの状態を確認する

jcli rest v0 account get ca1s47v7kxgpx9d2we975lsalxk5trnhptz63dlvhc5ve3xg40f6jv52r700za -h http://127.0.0.1:8443/api

2019-10-22_22h49_42.png

value: 999999998990   ← 送金した1000とマイナーへの報酬10が減っている

送付先(Aさん)のアカウントの状態を確認する。

jcli rest v0 account get ca1s4mna3tc2fukfa7t85nalyeffltaddqau4n0hkhcp9cq94769hhy552gygl -h http://127.0.0.1:8443/api

value: 1000 になっていることが確認できる。

ログを確認する。
jcli rest v0 message logs -h http://127.0.0.1:8443/api

2019-10-22_22h58_36.png

トランザクションの実行結果(ステータス)

InABlock: 正常終了、、、"4.707"
Pending: 保留中・・・・ブロックに追加中
Rejected:拒否・・・この場合は、拒否する理由のメッセージが出力される

3.最後に

カルダノ ブロックチェーン 「セルフノードのトランザクション」について実行した結果をまとめてみました。今回は、「faucet-send-money.sh」スクリプトファイルを利用して資金を送金することを行ってみました。  「faucet-send-money.sh」の中のプログラムを解析してみたり、コマンドを手動で実行することで、より一層理解が進みました。「faucet-send-money.sh」の中のプログラムを解析して今回作成して実行したトランザクションのイメージは次の通りです。

<蛇口からAさんへのTX>

トランザクションID :f1a86120f97b1882f4543f0d854d0c1dce51479263e850fd3928dbdb86efc74a

input output
                          ca1s4mna3tc2fukfa7t85nalyeffltaddqau4n0hkhcp9cq94769hhy552gygl

関連アカウント:ca1s47v7kxgpx9d2we975lsalxk5trnhptz63dlvhc5ve3xg40f6jv52r700za

このようにoutputが未使用な状態のトランザクション(utxo)をカウントとすることで特定のアカウントの所有するコイン数を計算します。
私が実行したjormungandr のバージョンはv0.3.3でしたが、v0.6.5(2019/10/18 現在の最新)でも動作確認ができています。

(注)「世界一と噂されるCARDANOのステークプールを立てる ~ TestNet セルフノード編」の 記事は、次の記事で構成されています。

  1. 世界一と噂されるCARDANOのステークプールを立てる ~ セルフノードのインストール
  2. 世界一と噂されるCARDANOのステークプールを立てる ~ セルフノードの起動
  3. 世界一と噂されるCARDANOのステークプールを立てる ~ アドレスの設定
  4. 世界一と噂されるCARDANOのステークプールを立てる ~ 送金トランザクションの実行
  5. 世界一と噂されるCARDANOのステークプールを立てる ~ ステークプールの作成
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0