AstarでDappsを作ってみたい
astarはEVM互換なのとPolkadotによるインターチェーンが良いのでEthとAstar同時対応できてつよい
とりあえずテストネット関係を調べるぞ
Attribute | Value |
---|---|
Network name | Shibuya Network (parachain testnet) |
Parent chain | Tokyo (own relay chain) |
parachainID | 1000 |
RPC | https://rpc.shibuya.astar.network:8545 |
chainID | 81 |
Symbol | SBY |
WebSocket | wss://rpc.shibuya.astar.network |
Block explorer | https://shibuya.subscan.io |
Faucet
テストネットであってもコントラクトを実行するにはそのチェーンのトークンが必要です。
shibuyaの場合はディスコードに参加して #shibuya-faucet チャンネルで /drip コマンドを入力するようです。その際、ネットワーク名を指定するので、shibuyaと入力し、最後にaddressを入力するみたいです。
最初にshibuyaにログインする必要があると思うので注意。
- metamaskでアカウントを作る
- https://portal.astar.network/#/assets ポータルに行く
- 右上のところをクリックしてから、shibuyaを選択する
- faucetする
shibuyaのfaucetは今dryだそうで......仕方ないのでローカルでEVM作ってみる。
なんか結構いろいろ変わってるみたいでドキュメントが古い印象。↓をビルドする
まずAsterのnodeをビルドします。
# install Substrate development environment via the automatic script
$ curl https://getsubstrate.io -sSf | bash -s -- --fast
# substrateの開発環境を入れる。
# なんか
# Skipped cargo install of 'substrate' and 'subkey'
# You can install manually by cloning the https://github.com/paritytech/substrate repo,
# and using cargo to install 'substrate' and 'subkey' from the repo path.
# Run source ~/.cargo/env now to update environment
# とでる。 なんか問題がでたら後で入れようかな
# clone the Git repository
$ git clone --recurse-submodules https://github.com/AstarNetwork/Astar.git
# change current working directory
$ cd Astar
# compile the node
# note: you may encounter some errors if `wasm32-unknown-unknown` is not installed, or if the toolchain channel is outdated
$ cargo build --release
# show list of available commands
$ ./target/release/astar-collator --help
2時間ぐらいかかったけど、特に問題なくビルドできたわ
どこからでもastar-collator
コマンドを使用できるようにパスを通しましょうか。
cd /usr/local/bin
ln -s (astar-collatorまでのパス) astar-collator
公式のドキュメントが古いのでこちらも参考にする
↑の記事がかなり良い。
# astar-collatorのパスは通すかバイナリを直接指定する
astar-collator --port 30333 --ws-port 9944 --rpc-port 9933 --rpc-cors all --alice --dev
ポルカドットのエクスプローラーでローカルノードも見れるっぽい : https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/explorer
今ってremixはwebベースアプリっぽい 便利
remixからローカルのネットワークに接続する方法がわからん
この記事が参考になりそう。
https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944#/addresses の「送信」機能を使って、Astar Portalに接続したアカウントに対してASTLを送金することが出来た。
ただし、EVM(メタマスク)に関してはうまく送れなかった(GOXした)。
その後、Cloverには正しくASTLを送ることができて、astar portalの送金機能を用いて、cloverからmetamaskに送ることが出来た。
この問題はたぶんpolcadot portalが直接metaマスクに送れないみたいな現象として見れると思う。
- 一度チェーンを停止すると残高が消えます。
-
astar-collator export-blocks > blocks
でブロックのエクスポートが出来たけど、ブロック重すぎてストレージめっちゃ圧迫してる