已经成功创建了第一个Substrate链。
现在我想进一步定制我的demo.rs
文件,以下是我的操作:
Demo: demo::{Module, Call, Storage, Event<T>},
and
impl demo::Trait for Runtime {
type Event = Event;
}
- 运行
./scripts/build.rs
- 运行
./target/release/node-name --dev
然后我发现我的更新外部方法在Polkadot Web App上未列出,或者按照教程第五步上传substrate_node_template_runtime_wasm.compact.wasm
文件也不行。
所以我需要运行以下代码来使更新生效:
rm -rf ./target
cargo build --release
./target/release/node-name --dev
在与@shawntabrizi的讨论中,他建议使用以下命令
./scripts/build.sh
cargo build --release
./target/release/node-name purge-chain --dev
./target/release/node-name --dev
似乎如果没有使用
purge-chain
命令,substrate_node_template_runtime_wasm.compact.wasm
和 ./target/release/node-name
将不会被更新。引自这里:
升级运行时只是简单地更换将接收交易和读取存储的代码块。
但是我想深入了解一步,在升级运行时节点时,使用
build.sh
和 cargo build
有什么区别?难道以上情况中 substrate_node_template_runtime_wasm.compact.wasm
和/或 ./target/release/node-name
二进制文件没有更新吗?