问题标签 [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.
blockchain - 每个块有多少存储迁移时间?
作为运行时升级的一部分,我试图提出一些实际的限制,即一个人有时间在一个块中完成多少存储迁移。
所以假设
- 在 Substrate 设置中有 N 个验证器运行当前的共识系统,而不是作为平行链
- 节点在体面的民用工作站上运行
- 迁移代码主要是执行数据库读/写对的序列,以及正常的关联编码/解码逻辑
- 每个读/写对中的数据大小相当稳定,平均为 M 字节
令 f(N, M) 为当没有其他外部处理时,您将能够在单个块中安全地执行的读取、写入对的数量。
对 f(N,M) 的样子有什么好的猜测?只是对 N(例如 40)和 M(例如 32、1024)的流行值的一些不错的答案。
我问,因为围绕此的约束必须告知如何构建模块。
blockchain - 如何为 Polkadot 或 Kusama 等 Substrate 链生成销毁地址?
我想生成一个没有密钥的地址,以便它可以用作刻录地址 - 一个可以发送令牌并且永远不会从中检索到的地址。如何生成一个?
substrate - 无法使用 polkadotjs 密钥环验证子密钥签名,反之亦然
我想了解为什么无法使用 polkadotJs 密钥环验证子密钥签名。
当它使用密钥环签名时,一切都很好:
但是,当我尝试使用相同的 Alice 帐户对其子密钥进行签名时,验证返回 false:
任何人都可以帮忙吗?谢谢!
python - Polkadot:如何在 python 中签署 Extrinsics?
多亏了py-substrate-interface
我可以用类似的东西创建外部:
然后我还可以在他们的文档rpc_request
中看到and ,我假设我可以用它来广播签名的外部。ws_request
缺少的步骤是签署外部. 有谁知道如何在python中做到这一点?
rust - Substrate Kitties:模块未显示为外部
我正在关注 Substrate Kitties 教程。我添加了一张地图并编译了。没有错误。但是当我在外部应用程序中查找模块时,我看不到它。我正在运行 build.sh,然后是 cargo build release,然后在使用 purge--chain 标志后启动节点。
有任何想法吗 ?
rust - 如何在 Substrate 中拥有不可变的键值映射?
我正在写一个key: value
StorageMap
in substrate
。我想让它不可变,以便在不存在但存在时写入密钥:
i)如果值与存储的值相同,好的 ii)使交易无效。
我写了以下runtime
代码:
官方教程讨论了以以下方式改变密钥:
那么,如何使我的key:value
不可变?我应该自己写StorageMap
吗?如果是,我应该在哪里放置该代码?
注意:我对基材和生锈都不熟悉。
substrate - 我尝试安装子键但得到空安装错误
我想安装子密钥来处理我的旧 Edgeware 帐户,但我遇到了这个问题:
rust - 为什么即使更改了底层链的源代码,存储值的可变性行为也没有变化?
阅读了可变性,我在我的底层链中实现了以下代码:
然后将代码更改为:
如您所见,在第二个代码中,可以更改/覆盖该值。我的目的是了解源代码的变化。我正在运行演示基板链,令我惊讶的是,基板链的行为根本没有改变。
在官方文档中提到:
智能合约必须有意识地实现可升级性,而平行链将能够完全通过根命令或通过治理托盘交换其代码。
我没有清除现有的链,而是使用以下命令对其进行了重建:
换句话说,即使我更改了代码并在不清除现有链的情况下重建了它,我的底物链也没有改变它的行为(我无法覆盖该值)。
初始代码:存储值中的不可变键值对最终代码:存储值中的可变键值对
初始链:不可变键值 最终链:不可变键值
这是预期的吗?如果是,那么引用(前面提到的关于平行链的文档)是关于什么的?如果不是,我如何在不清除底物链的情况下改变它的行为?
rust - 如何导入substrate_primitives 以使用sr25519?
我的Cargo.toml
文件中有以下依赖项:
我不确定dependencies
section 和dependencies.primitives
section 之间的区别,但包substrate-primitives
包含在原语部分中。
我已经看到有我需要使用substrate_primitives
的模块,但是当我尝试在我的代码中导入它时:sr25519
我收到以下错误:
如何导入 sr25519 以便可以在代码中使用以下行?