準備のときあるある
いつも使う tezos-node の登録
tezos-client は tezos-node と通信して動作する。 tezos-node はローカルで動かしてもいいし、信頼できるリモートのものがあればそれを使うこともできる。tezos-clientではいつも使うnodeを次のコマンドで登録することができる。
tezos-client --addr <host or IP address> --port <port> config update
使用例: tezos-client --addr localhost --port 8732 config update
nodeがbootstrapするまで待機
対象の tezos-node が bootstrap 済みかどうか確認する。起動したばかりのnodeは bootstrap まで数日間かかることがある。
tezos-client bootstrapped
faucetなどで得たアカウント情報の有効化
テスト環境 1 などでは最初に faucet からアカウント作成することがある。その場合は得た tzXXXXX.json
のような json ファイルのパスを指定してアカウントを有効化する。
tezos-client activate account <nickname> with <path-to-json-file>
<nickname>
はclientの動作する環境でのみ通用するあだ名です。恥ずかしい名前をつけても外の人から参照されることはありません。
使用例: tezos-client activate account karepippi with tzXXXXXXX.json
アカウント情報確認、送金とかするときあるある
ローカルに登録されているアカウント情報の一覧
tezos-client list know accounts
残高確認
tezos-client get balance for <nickname or publickeyhash>
使用例: tezos-client get balance for proofninja
アカウントの新規作成
tezos-client gen keys <nickname>
送金
tezos-client transfer <金額> from <支払う人> to <受け取る人> --burn-cap <ディスク使用料金>
新しいアカウントへ送金する時など、ディスク容量のための手数料を支払う必要があることがある。その場合は --burn-cap
オプションで支払ってもよい手数料の上限を指定することができる。Fatal error: The operation will burn ꜩ0.257
などと言われた場合は --burn-cap
を指定しよう。
sandbox node を使っているときあるある
protocol の activate
tezos-client activate alpha
SCaml でスマートコントラクト動かすときあるある
関数型プログラマーがスマートコントラクトを開発するときは SCaml がオススメである。SCamlについて知らない人はこちら : https://www.scamlang.dev/docs/
デプロイする
tezos-client originate contract <nickname>
transferring <金額> from <送り主> \
running <プログラムファイルパス> \
--init <storageの初期値> \
--burn-cap <払ってもいいストレージ利用手数料>
使用例: tezos-client originate contract counter transferring 0 from proofninja running counter.tz --init '(Pair 0 0)' --burn-cap 100
呼び出す
Tezos スマートコントラクトは、そのコントラクトへ送金することでプログラムを呼び出す。その引数は --arg
で指定しなければ Unit
が与えられる。
tezos-client transfer <金額> from <送り主> to <contract名> --arg <引数>
使用例: tezos-client transfer 0 from proofninja to counter --arg 42
ストレージの状態を見る
tezos-client get contract storage for <contract名>
-
Tezosのテストネットワークは
babylonnet
cartagenet
などプロトコルごとの名前が付いている ↩