이하의 과정은 유저의 os가 ubuntu 혹은 debian WSL2임을 가정합니다.
sudo apt update && sudo apt install -y git clang curl libssl-dev llvm libudev-dev
rustup
curl https://sh.rustup.rs -sSf | sh
PATH env에 cargo bin directory 추가
source ~/.cargo/env
configure rust toolchain
rustup default stable
rustup update
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustc --version
rustup show
clone node template repo
git clone https://github.com/substrate-developer-hub/substrate-node-template
template directory로 이동
cd substrate-node-template
#latest branch 사용
git checkout latest
cargo build --release
Substrate based blockchain node와 상호작용을 위해서 React로 렌더링을 진행한다.
node --version
, yarn --version
으로 WSL2에 설치 되어있는지 확인한다.git clone https://github.com/substrate-developer-hub/substrate-front-end-template
cd substrate-front-end-template
# We want to use the `latest` tag throughout all of this tutorial
git checkout latest
yarn install
현재 node.js LTS 17.+ version에서는 yarn install이 작동하지 않는 이슈가 있는데 해결되지는 않은 것 같다. lts/gallium version을 이용하면 원활한 진행이 가능하다.
./target/release/node-template --dev
로 dev mode 실행2022-01-24 11:43:48 🎁 Prepared block for proposing at 34 (0 ms) [hash: 0x7d443dbf0875680dc7c2ed0f33e8b7ebb923a4677cef12b28d31d85a6b7c9bb1; parent_hash: 0x4d1e…e18e; extrinsics (1): [0xa06e…8802]]
2022-01-24 11:43:48 🔖 Pre-sealed block for proposal at 34. Hash now 0xc5fd6264b7ebd7f02bf05f48accaf0286ebf9db339182bbbda8c982e84b40e7a, previously 0x7d443dbf0875680dc7c2ed0f33e8b7ebb923a4677cef12b28d31d85a6b7c9bb1.
2022-01-24 11:43:48 ✨ Imported #34 (0xc5fd…0e7a)
2022-01-24 11:43:51 💤 Idle (0 peers), best: #34 (0xc5fd…0e7a), finalized #32 (0x5730…31d3), ⬇ 0 ⬆ 0
진행이 성공적이라면 이와 유사한 결과를 볼 수 있다.
참고로 finalized
뒤에 숫자가 계속해서 증가하는 것은 블록체인이 새로운 블록을 형성하고 consensus에 도달하는 중이라는 것을 의미함.
node-template이 터미널에서 문제 없이 동작하는 것을 확인하고 새로운 터미널을 실행한다.(기존 터미널 종료하면 안됌)
새로운 터미널 창에서 substrate-frontend-template으로 이동하여
yarn start
실행.
이것도 마찬가지로 latest lts는 안되는 듯..
http://localhost:8000로 이동해서 확인하기.
접속을 진행하기 위해 polkadot.js같은 extension이 필요함