こんにちは、Stakedの渡辺創太です。Substrateでブロックチェーンとアプリケーションを作ってみようと思います。Web3 SummitでGavin Woodが新品のマックを持ってきて0からSubstrate上にブロックチェーンを作っていましたが、それを参考にしています。
事前作業
こちらは当たり前ですが、npmとnodeの最新版はインストールしておきましょう。Substrateを動かすにはRustといくつかのディペンデンシーをインストールしておく必要がありますが、こちらは以下のコードでインストールできます。 `curl https://getsubstrate.io -sSf | bash` 時間が結構かかります。次に、Substrate UIをインストールしてきます。
substrate-ui-new substrate
Substrate UIと同じディレクトリでSubstrateのnode templateもインストールしておきます。
substrate-node-new substrate-node-template sota
sotaのところには自分の名前を入れてください。
ノードを起動するために、substrate-node-template
内で
./target/release/substrate-node-template --dev
を実行します。
走っているコードを見てみると、versionやblockの数などがわかります。Local Node Addressは/ip4/0.0.0.0/tcp/30333/p2p/QmWH6NCm78tbgGuuH6MmzGvuwhxCRoMT1agrpNzumFshEi
となっていますが、これ多分、libp2pですね。
プロトコルの拡張性が高いのか。
— Sota Watanabe (渡辺創太) (@WatanabeSota) February 11, 2019
“Why libp2p?” by @tomaka17 https://t.co/PIezUBGARJ
Stackはこういう仕組みになっています。
ここまでできたら、先程インストールしたsubstrate-ui
のディレクトリーに移動しnpm run dev
コマンドを実行します。この際に、別のタブでブロックの掘削を同時に行っておく必要があります。こんな感じになるはずです。
その後、http://localhost:8000/にアクセスします。
ここで自分で作成したチェーンとやりとりをすることができます。
ネットワークに他のプレーヤーを追加する
独自環境を構築したので、現時点では参加者は自分1人です。ここに別の参加者を加えたいと思います。git clone https://github.com/paritytech/substrate
で、Substrateのインストールを行います。
現在ファイルは3つです。インストールしたsubstrateのファイル内にsubkey
というファイルがあるので、その中で、
$ subkey restore Alice
を実行するとAliceのKey情報が入手できます。
これをlocalhost:8000
のインターフェース上で入力することでAliceを加えることができます。
追加しました。
これでAliceのWalletからDefaultのWalletにunitsを送信することができます。
Source:大本のビデオはこちらを参考にしてください。