cosmos gaia初体験
目次
に頼る
go1.14+
概要
GaiaはCosmos SDKを用いて構築されたCosmos Hubの最初の実装である.Hubの役割はブロック鎖間の移動を促進することである.ブロックチェーンがIBCを介してHubに接続されている場合、ブロックチェーン間通信をサポートする他のすべてのブロックチェーンへのアクセス権が自動的に取得されます.
ソースをダウンロードしてインストール
現在の最新バージョンはv 2.0.10
mkdir cosmos
cd sosmos
git clone -b v2.0.10 https://github.com/cosmos/gaia
cd gaia && make install
コマンドラインが使用可能かどうかを確認します
$ gaiacli version --long
name: gaia
server_name: gaiad
client_name: gaiacli
version: 2.0.10
commit: 46bc0060fe7a52abf9e2173d39fc2bfdb59971fb
build_tags: netgo,ledger
go: go version go1.13 linux/amd64
GaiacliはGaiaコマンドラインツールで、Gaia全ノードとインタラクティブに
$ gaiad version --long
name: gaia
server_name: gaiad
client_name: gaiacli
version: 2.0.10
commit: 46bc0060fe7a52abf9e2173d39fc2bfdb59971fb
build_tags: netgo,ledger
go: go version go1.13 linux/amd64
gaiadはGaiaデーモンであり、gaiaアプリケーションを実行する全ノードである.
ホームネットワークへの参加
プロファイルの生成
gaiad initの後ろに名前がついています
gaiad init pld_demo_01_moniker
上記のコマンドを実行した後に
~/.gaiad/config/config.toml
ファイルを編集してmonikerの値gaiad initを変更して実行した後に生成できるファイルは以下の通りです.├── app.toml
├── config.toml
├── genesis.json
├── node_key.json
└── priv_validator_key.json
Genesis & Seeds
ダウンロードホストネットワーク創世構成(60 M)
curl https://raw.githubusercontent.com/cosmos/launch/master/genesis.json > ~/.gaiad/config/genesis.json
seedの変更
vi ~/.gaiad/config/config.toml
seedsを見つけて、メインネットワークpeerノードを追加して、カンマで分割します
seeds = "[email protected]:26656,[email protected]:26656,[email protected]:26656"
スタートノード
(同期データは比較的に時間がかかり、現在主網の高さは200万余り)
nohup gaiad start > gaia.log 2>&1 &
現在のステータスの表示
gaiacli status
パブリックテストネットワークへの参加(Gaia-1307)
プロファイルの生成
構成の初期化、chain-idの設定に注意
gaiad init pld_demo_02_moniker --chain-id=gaia-13007
Genesis & Seeds
ダウンロードテストネットワーク創世構成(2.3 M)
curl https://raw.githubusercontent.com/cosmos/testnets/master/gaia-13k/13007/genesis.json > ~/.gaiad/config/genesis.json
seedsを見つけて、メインネットワークpeerノードを追加して、カンマで分割します
seeds = "[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"
スタートノード
(同期データは比較的に時間がかかり、現在テストネットの高さは200万余り)
nohup gaiad start > gaia.log 2>&1 &
現在のステータスの表示
gaiacli status
アカウント管理、検証者
アカウントを作成するには、8桁のパスワードを入力する必要があります
gaiacli keys add pld-demo
アカウントの表示
$ gaiacli keys list
- name: pld-demo
type: local
address: cosmos1rnvhje672f59x88sxr8f5tj55qwg44r3s79c96
pubkey: cosmospub1addwnpepqdqn86etl4jprlskyftjtek2j2tsnz0an0lxy9lnnff2v8p5jrtmzjvcf9u
mnemonic: ""
threshold: 0
pubkeys: []
アカウントの詳細
$ gaiacli q account cosmos1rnvhje672f59x88sxr8f5tj55qwg44r3s79c96 --chain-id gaia-13007
ERROR: {"codespace":"sdk","code":9,"message":"account cosmos1rnvhje672f59x88sxr8f5tj55qwg44r3s79c96 does not exist"}
アカウントにはチェーン上の取引やデータが同期されていません
チャットルームに行ってテストコインを取得する(エージェントが必要)https://riot.im/app/#/room/#cosmos-faucet:matrix.orgが入ったら、入力:show me the money!YOUR ADDRESS YOUR ADDRESSはあなたの財布の住所で、ロボットは自動的にあなたの住所にコインを転送します
検証者公開鍵の表示(検証者の作成にはpubkeyが必要)
gaiad tendermint show-validator
検証者の作成
gaiacli tx staking create-validator \
--amount=25muon \
--pubkey=cosmosvalconspub1zcjduepq0wkd0ru6mppc0dkxu0yx98vfcptuye7udr8cshf3m62rc596255quyw400 \
--moniker=hongmin \
--chain-id=gaia-13007 \
--sequence=0 \
--commission-rate=0.05 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.1 \
--min-self-delegation=1 \
--from=cosmos1rnvhje672f59x88sxr8f5tj55qwg44r3s79c96
検証者情報の変更(24時間後に変更可能)
gaiacli tx staking edit-validator \
--moniker=“pod” \
--website="https://pld.network" \
--details="To infinity and beyond" \
--chain-id=gaia-13007 \
--from=cosmos1rnvhje672f59x88sxr8f5tj55qwg44r3s79c96\
--commission-rate="0.10"
ブロックチェーンブラウザでアドレスまたは取引情報を表示する(Gaia-1307テストネットワーク)https://gaia.bigdipper.live/
ローカルテストネットワークの導入
初期化Genesis
gaiad init --chain-id=testing testing
認証アカウントの作成
gaiacli keys add validator
moneyを追加
gaiad add-genesis-account $(gaiacli keys show validator -a) 1000000000stake,1000000000validatortoken
創世取引の生成
gaiad gentx --name validator
生成された創世取引をgenesisファイルに追加
gaiad collect-gentxs
開始
nohup gaiad start > gaia.log 2>&1 &
ノードのアップグレード
データの削除
rm ~/.gaiad/config/addrbook.json ~/.gaiad/config/genesis.json
gaiad unsafe-reset-all
最新バージョンのダウンロードとインストール
git clone https://github.com/cosmos/gaia.git
cd gaia
git fetch --all && git checkout master
make install
リファレンスドキュメント
https://hub.cosmos.network/master/gaia-tutorials/https://github.com/cosmos/gaia https://github.com/cosmos/testnets https://github.com/cosmos/testnets/tree/master/gaia-13k/13007