Open6

AstarNetworkのWasmのtutorialで躓いたものメモ

EverydayNewbieEverydayNewbie

そして、自分でもDApps作りたいからAstarNetwork上で作ると決意。
ブロックチェーン界隈の現状のスマートコントラクト開発は、Solidityがメインらしいが、将来的にはWASMに移っていくらしい。

厳密には、EVMからWASM、これは環境を指すらしいが、
非エンジニアの自身の理解としては、要はSolidityという言語から、RustやらPython?やらより普遍的な言語での開発に対応して、かつ早い環境らしい。
くらいの理解にとどめておく。

EverydayNewbieEverydayNewbie

https://docs.astar.network/build/smart-contracts/wasm/smart-contract/install

これをやっていく
で、ここ冒頭からメッチャクチャ躓いた

チュートリアル的なものとして、EVM用とWASM用の両方があって、前述の通りWASM用で進めているが、そもそもローカルにチェーン?を用意する必要があり、冒頭は共通して同じ内容で、チェーンのインストール

で、ここに記載されているのが「Plasm」なんだけど、これはAstarの前身の名前

つまり、Plasmはもうネットワークとして存在していないんじゃ。。。?なんで。。?
みたいなところで躓いた

しかも、こっから先で

plasm

とコマンドを叩くところがあるが、案の定動かない

ここで、今度悩ましいのが、パス通っていないのか、そもそもPlasmなんてもう廃止されているから実行できないだけなのか

で、ここで、その前に

cargo +nightly install --locked --force --git https://github.com/staketechnologies/Plasm --tag v1.9.0-dusty plasm

というコードを叩くよう書いてあったが、これがもう、エラー起きていた
で、おそらく、この記載内容は古めのものだと判断した。

ちょうどGitHubだし、一番最新のもののReedme通りにやればよいかと思い、master branchへ遷移

https://github.com/AstarNetwork/Astar/tree/master

見た感じReedme最新

curl https://getsubstrate.io -sSf | bash -s -- --fast
git clone --recurse-submodules https://github.com/AstarNetwork/Astar.git
cd Astar
cargo build --release

Reedme通りにやった所、特に躓くことなく順調に対応できた。

これでローカル環境立ち上げDone
※cargo build叩くと、30分近くかかるし、自分のMacがブゥオオオオオオンってなったから気をつけてね

ただし、チュートリアルの後ろの部分は、前段が結構変わっているがために、適宜気をつけながらやっていく必要が出てきた。

EverydayNewbieEverydayNewbie

あ、追記

./target/release/astar-collator \
  --base-path <path to save blocks> \
  --name <node display name> \
  --port 30333 \
  --ws-port 9944 \
  --rpc-port 9933 \
  --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' \
  --rpc-cors all \
  --collator

このように叩いてローカル環境起動する。みたいなこと書いてあったけど、
base-pathとnameはなぜか省略しても行けた

EverydayNewbieEverydayNewbie

更に追記
正直、Githubの説明が、Runnig collater nodeとなっていて、
「これはテスト環境であっている、、、?」状況

正直色々パラメータ渡しているが、全然どういう動きかわかっていない

ので、もう、他にも調べてみた所、後ろに単純に「--dev」とつけると開発環境になるみたい。
※何故なのか、、、、詳しい方、教えて下さい、、、、

./target/release/astar-collator --dev

これでいけた

EverydayNewbieEverydayNewbie

↑追記

./target/release/astar-collator --help

コマンドが公式Githubで案内されていたが、どんなパラメータあるかとか、どんな動きするかとか書いてあるから、ここでわかるかも

※まあ正直polkadotの仕様?上、collater, validatorというノードが存在していることはわかるものの、公式のドキュメントで何故Collater想定で叩かせようとしたのかはよくわからない

開発目的の人は--devで行きましょう

自分は自分でもっと、Polkadotについて知った方が良いのかもしれない