首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用最新的polkadot-js和基板合约节点查询合同信息?

如何使用最新的polkadot-js和基板合约节点查询合同信息?
EN

Stack Overflow用户
提问于 2021-11-03 14:37:57
回答 1查看 248关注 0票数 1

最近,由于使用Unable to create Enum via index 128, in Alive, Tombstone,在使用api.query.contracts.contractInfoOf时,我无法查询现有合同。我在命令行和polkadot应用程序资源管理器中都得到了这个错误。

以下是我所采取的步骤:

  1. 使用salt部署合同
  2. 检索合同deployedAddress
  3. 使用contractInfoOf
  4. const contractInfo = await api.query.contracts.contractInfoOf(deployedAddress);

我试过将ink!降级为3.0-rc53.0-rc43.0-rc3,然后编译,但这似乎没有什么区别。每当我的合同构建时,它都会在顶部引用rc6

代码语言:javascript
复制
{"metadataVersion":"0.1.0","source":{"hash":"0x...","language":"ink! 3.0.0-rc6","compiler":"rustc 1.58.0-nightly",

这意味着它忽略了我的.toml,并使用rc6编译契约。

我将我的cargo-contract版本更改为0.14,但这会导致polkadot在阅读协议abi时失败。

我尝试使用基板.契约.节点,使用来自主服务器的最新提交,也使用v0.1.0发行版。这两种情况下都有相同的错误。

代码语言:javascript
复制
> rustup info

stable-x86_64-unknown-linux-gnu (default)
rustc 1.56.1 (59eed8a2a 2021-11-01)

关于polkadot js的问题中有更多的细节。

任何关于如何获得工作设置的提示都是非常有用的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-03 19:59:41

这里的问题是substrate-contracts-node使用元数据的旧版本

在恢复元数据合并并在本地构建(cargo build)之前,我能够检出repo。

因此,请签出8d91b8e,让节点使用polkadot-js包的7.7.16.6.1版本。

代码语言:javascript
复制
> git checkout 8d91b8e578065a7c06433cbd41ac059bf478a0bd
> cargo build
> ./target/debug/substrate-contracts-node --dev --tmp --version
substrate-contracts-node 0.1.0-8d91b8e-x86_64-linux-gnu
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69826769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档