问题标签 [substrate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
substrate - 如何在 Substrate 中安装四个节点的网络
我已经测试过 Substrate 并有一些教程,现在我想安装一个由四个节点组成的小型网络。问题是我没有教程,也不知道如何在四台不同的机器上安装四个节点并连接它们。
有一些 tuts 或者你能帮我吗?
提前致谢
parity - Substrate:来自 polkadot.js UI 的固有外部提交错误
编辑:当我在私有 Chromium 窗口( ref)中重新打开 Polkadot 应用程序时,错误消失了。
我正在关注substratekitties 基板教程,并想玩弄存储。我已经定义了以下模块,该模块存储counter
可以递增或递减的 a。
我想使用https://polkadot.js.org/apps UI进行尝试,但外部提交失败并显示一条神秘的错误消息,如下面的屏幕截图所示。
我先选择 Alice 账户提交外挂:
然后点击“提交(无签名)”:
但提交失败并出现以下错误:RPC-CORE: submitAndWatchExtrinsic (extrinsic: Extrinsic): ExtrinsicStatus:: 1002: execution error (Error(Clie)
这个错误是什么意思?以及如何解决?
substrate - Kusama - 提供的主机标头未列入白名单
已将 kusama 节点作为服务启动
现在我尝试使用对http://IP:9933的 POST 请求和这个 JSON 有效负载来调用节点:
我得到了 403 禁止响应:
提供的 Host 标头未列入白名单。
设置中缺少什么想法?
substrate - 在 Polkadot-js 中是否有创建 HD 钱包地址的方法
我正在使用 Polkadot-js api,想知道是否有一个 API 可以从给定的种子生成分层确定性钱包地址?
subkey
我看到在 Substrate 的文档中提到了软和硬派生路径,但不知道这是否已移植到 Polkadot-js 或如何调用它。
substrate - How to correctly upgrade a runtime on Substrate node?
Followed the create a first substrate chain it all works good.
And then I want to go one step further to customize my on the demo.rs
file, here is what I am doing:
Totally replace code in demo.rs with code here, there is event involved now .
update the
lib.rs
with
and
- run
./scripts/build.rs
- run
./target/release/node-name --dev
Then I see my updated extrinsic function is NOT listed here on the Polkadot Web App or by upload the substrate_node_template_runtime_wasm.compact.wasm
file by following the the step 5 on tutorial
So I have to run the following code to make the update happens:
By discuss with @shawntabrizi he suggest with the following command
It seems that without purge-chain
both the substrate_node_template_runtime_wasm.compact.wasm
and ./target/release/node-name
are not updated.
Quoted here
By upgrading the runtime, you're simply switching out the block of code that is going to be receiving extrinsics and reading storage.
But I want know one step deeper, when upgrade a runtime node, what is the difference behind build.sh
and cargo build
? Is that because that substrate_node_template_runtime_wasm.compact.wasm
and/or ./target/release/node-name
binary is not updated in the case above?
substrate - 块在基板中的“理由”是什么,它有什么用途?
在基板中,一个块通常与一个理由配对。这是否与共识机制有关?
parity - 在 Substrate 运行时模块中,如何将输入哈希与已知的默认哈希值进行比较?
我正在尝试将未知数input_hash
与default_hash_value
我的运行时知道的未知数进行比较。
十六进制的 default_hash_value 是5198bfa9da6f9c9d22dd2b0ce301dde9fd3c5826a117705d3ffa415d83a6bde8
使用 Blake2 散列算法从 string 生成的A nice default hash
。
a) 我认为T::Hash
输入类型正确,但是...
b)如何default_hash_value
在我的运行时模块中进行编码,以便我可以按照以下方式进行比较:
主要问题是编码已知值。
blockchain - 在 Substrate 中,Babe、Aura 和 Grandpa 有什么区别
Substrate 支持“可插拔共识”,因此开发人员可以从多种共识算法中进行选择。它标配四种算法:
其中一些(例如babe 和 grandpa)甚至可以在单个节点中一起使用。每种共识算法之间有什么区别,哪些可以或应该一起使用?
substrate - 在 Polkadot 应用程序开发人员选项卡中,您如何编码 Rust 元组?
有几个例子可以包含在运行时模块中声明的自定义 Rust 类型,可以在此处应用 Polkadot Apps 接口。但是我不确定如何编码元组。对于计划在其代码和运行时 API 中使用元组以用于 polkadot-js 的任何其他人来说,情况也是如此。
下面是它在 Substrate Runtime 模块中的声明方式:
我假设我会Developer
在 Polkadot Apps 设置的选项卡中添加类似的内容,但我不知道这是否是正确的语法。
substrate - 我应该如何为地方发展建立共识
我正在使用BABE/GRANDPA共识substrate-node-template
来开发 Substrate 链。对于本地开发(即仅运行一个节点来开发 dapp),此设置有几个问题。
- 节点总是需要重新编译
--release
标志或块执行超过槽持续时间。这很昂贵,尤其是在 CI 上。 - 无法关闭节点并稍后重新启动它。共识会抱怨时代相距太远。
- 从提交的外部接收反馈至少需要时隙持续时间。
理想情况下,用于本地开发的共识应该像InstantSeal
Parity Ethereum 中的共识一样。Substrate 是否有类似的共识?奥拉呢?是否可以调整 BABE/GRANDPA 以缓解这些问题?