【Substrate】포크리스 체인 업그레이드 방법
굉장한 포크리스 업그레이드
Substrate의 블록체인의 특징 중 하나는 포크리스, 실시간 체인 업그레이드군요. 매우 편리하다고 생각했으므로 여러분에게 공유합니다.
장점, 단점, 방법, 해설의 순서로 설명해 갑니다.
장점:
・Cargo build를 하지 않아도 되므로 구현이 빠르다!
・체인을 purge 하지 않기 때문에 기존 노드나 상태가 유지된다!
단점:
· 네이티브에 비해 인터프리터이므로 처리가 느립니다.
방법 (wasm과 cargo로 빌드 된 전제. 아직 사람은 여기)
1) 항상 그렇듯이 노드를 움직입니다.
bash1$ ./runtime/release/<project name> --dev
2) 별도 터미널 열고 Wasm 빌드 실행
bash2$ ./build
그러면 다음 경로에 compact.wasm 파일이 생성됩니다../runtime/wasm/target/wasm32-unknown-unknown/release/node_template_runtime_wasm.compact.wasm
3) Polkadot UI Extrinsics에서 Alice를 선택한 후 (Sudo는 admin 인 Alice 만 호출 할 수 있음), 이전 compact.wasm 파일을 입력하여 Submit. Sudid 이벤트가 표시되면 성공입니다!
sudo > sudo(proposal)
proposal: Proposal (extrinsic): consensus > setCode(new)
페이지를 업데이트하면 추가한 기능이 반영됩니다.
런타임 업그레이드 전의 스토리지 상태(밸런스, 계정 등)도 그대로 남아 있는 것을 확인할 수 있습니다.
무슨 일이 일어나고 있는지
지금 움직이고 있는 블록체인은 Substrate가 제공하는 Wasm 인터프리터를 통해 런타임을 움직이고 있습니다. 이를 통해 새로운 기능 등을 기존 노드나 상태를 손상시키지 않고 쉽게 구현할 수 있습니다.
이 런타임은 블록체인에 있으므로 체인에서 움직이는 모든 노드가 실시간으로 동기화됩니다. 위에서도 말했듯이, Wasm 인터프리터는 네이티브 바이너리에 비해 처리가 느리므로 필요에 따라 cargo build --release
와 구별합시다.
Source: Shawn Tabrizi
Reference
이 문제에 관하여(【Substrate】포크리스 체인 업그레이드 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MasakiBerlin/items/dba55e6a019793aa9977
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ ./runtime/release/<project name> --dev
$ ./build
sudo > sudo(proposal)
proposal: Proposal (extrinsic): consensus > setCode(new)
Reference
이 문제에 관하여(【Substrate】포크리스 체인 업그레이드 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MasakiBerlin/items/dba55e6a019793aa9977텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)