【发布时间】:2019-09-14 07:33:50
【问题描述】:
在创建第一个底物链之后一切正常。
然后我想更进一步在demo.rs 文件上自定义我的,这就是我正在做的事情:
Demo: demo::{Module, Call, Storage, Event<T>},
和
impl demo::Trait for Runtime {
type Event = Event;
}
- 运行
./scripts/build.rs - 运行
./target/release/node-name --dev
然后我看到我更新的外部函数没有在Polkadot Web App 上列出,或者按照step 5 on tutorial 上传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 都不会更新。
引用here
通过升级运行时,您只需切换将接收外部数据和读取存储的代码块。
但我想更深入地了解,当升级运行时节点时,build.sh 和cargo build 背后的区别是什么?那是因为substrate_node_template_runtime_wasm.compact.wasm 和/或./target/release/node-name 二进制文件在上述情况下没有更新吗?
【问题讨论】:
-
关于 Substrate 如何选择它执行的运行时(Wasm vs Native)的一些相关信息可以在这里找到:stackoverflow.com/questions/56873179/…
标签: substrate