问题标签 [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.

0 投票
1 回答
73 浏览

rust - 外部选项卡中没有可用的“kitties”模块

我正在关注Substrate Kitties研讨会。在1/Viewing a Storage Mapping中,我无法访问Polkadot UI 选项卡上的kitties模块:#extrinsics

截图于 2019-07-18 11-36-02

我尝试多次重新加载它。这是我的kitties.rs(编译得很好):

我在lib.rs

并将其添加到运行时。

我错过了什么?向 Substrate 运行时注册我的模块还需要什么?

0 投票
1 回答
193 浏览

unit-testing - 编写 Substrate 运行时测试时的快进时间

我正在用 Substrate 运行时编写一个拍卖类型的应用程序。在编写测试用例时,如何将区块链时间(从中检索到的内容<timestamp::Module<T>>::get())快进,以便达到拍卖结束时间并测试结束逻辑?

谢谢。

0 投票
3 回答
1080 浏览

substrate - 如何在 Substrate 运行时开发中打印出跟踪消息

在进行Parity Substrate运行时开发时,如何打印调试消息以跟踪和检查我的变量?

0 投票
1 回答
95 浏览

rust - 如何区分具有相同名称的特征?

我试图在我的运行时同时使用 Assets 模块和 Balances 模块。他们都导出了 Trait T::Balance。当我将 Assets 模块带入我的特征范围时,如下所示:

我收到以下错误:

0 投票
2 回答
164 浏览

rust - 如何从底层的子树中获取 roothash 或证明?

根据此处的示例,我看到可以使用srml_support::storage::childAPI 从任意数据中创建一个 merkle 子树。但是我们如何使用它来获得 merkle 根或特定叶子的证明呢?我看到API没有提供任何这样命名的函数。

0 投票
2 回答
462 浏览

substrate - 基板中的事件存储成本是多少?

在实现我的链逻辑时,我想知道是否要使用事件,因为它们可能会花费节点额外的事件日志存储空间。这里涉及的实际存储成本是多少?日志会在某个时候自动清除吗?

0 投票
1 回答
852 浏览

substrate - 在 Substrate 中,code: 1012 “Transaction is暂时禁止”是什么意思?

该消息的全文是:

这表明该事务保存在 Substrate Runtime 内存池中的某个地方或类似的地方,但尚不完全清楚哪些可能的原因会触发此事件,以及最终结果可能是什么。

例如,

1) 是否从给定帐户、IP 地址或其他地址发送了太多交易?是否达到了某个门槛?

2)交易是否真的无效?

3) 使用“临时”一词表示处理延迟,而不是彻底拒绝交易。因此,这是否表明交易有效但延迟了?如果是这样,需要多久?

基板运行时的评论core/rpc/src/author/errors.rs并不core/transaction-pool/graph/src/errors.rs清楚结果是什么。

0 投票
2 回答
494 浏览

substrate - 为什么在调用智能合约函数时显示错误消息“system.ExtrinsicFailed”?

我通过以下页面学习了如何部署合同: https ://substrate.dev/substrate-contracts-workshop/#/0/deploying-your-contract https://substrate.dev/docs/en/contracts/部署合同

但他们都在“调用合同”这一步失败了

这是我创建的链源代码(参考自https://substrate.dev/docs/en/tutorials/creating-your-first-substrate-chain): https ://github.com/coolcode/sux-contract -链

错误消息:system.ExtrinsicFailed 外部事件

0 投票
2 回答
244 浏览

substrate - 当事务失败时,是否可以在 Substrate UI 中读取 SRML 错误消息?

我不确定 Substrate 运行时中与 Substrate UI 相关的错误消息的行为,以及它们是否固有地导致事务失败。

例如,在democracySRML 中,我看到以下行:

h这大概是一个宏,如果(提案哈希)已经存在,则确保事务失败或停止处理。显然有一条与此错误相关的消息。

当这个测试失败时,我是否可以假设事务失败(没有执行其余的 SRML 代码)?

如果是这样,我如何检测 Substrate UI 中的故障,并可能看到消息本身?

如果不是,那么在运行时模块中可能需要一些进一步的代码,这会显式地产生错误。我见过Err()——但没有结合ensure!()

0 投票
1 回答
118 浏览

substrate - 无法编译节点运行时

我无法在基板 v1.0 分支上编译节点运行时(作为根据安装说明从基板 git repo 基本目录运行 ./scripts/build.sh 的一部分)。我得到的错误是:

error: cannot find macro proc_macro_call! in this scope --> /substrate/node/runtime/src/lib.rs:210:1 | 210 | / construct_runtime!( 211 | | pub enum Runtime with Log(InternalLog: DigestItem<Hash, AuthorityId, AuthoritySignature>) where 212 | | Block = Block, 213 | | NodeBlock = node_primitives::Block, ... | 234 | | } 235 | | ); | |__^

这以前在同一台机器上对我来说效果很好,但无论我现在尝试什么,我都无法再编译它了。我的环境是 WSL 上的 Ubuntu 18.04。

我怀疑它可能与最新的 Rust 版本 1.37.0 有关,因为这是自上次构建以来我所知道的对我的环境的唯一更改。但是我已经尝试使用 1.35.0、1.36.0、1.37.0 和 1.39.0-nightly 构建,所有这些都具有相同的问题。我还尝试过彻底清除我的 .cargo 目录,并从一个新的 substrate v1.0 分支克隆开始。

非常感激任何的帮助。