问题标签 [rust-ink]

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 回答
165 浏览

flutter - 使用 Flutter Container 时,一切正常,但没有涟漪效应 - 但 Ink 绘制超出其父级

我想在 singlechildscrollview 中提供一些按钮

在此处输入图像描述

这是 ButtonCard 的构建方法:

当我在 ButtonCard 中使用容器时,一切正常,但 InkWell 没有显示波纹效果(因为 BoxDecation 颜色设置)

这会产生以下正确的滚动视图: 在此处输入图像描述

但是当我将 Container 更改为 Ink 时 - 我得到了我想要的美丽的涟漪效果。但随后在 scolling 期间发生以下错误:

在此处输入图像描述

如您所见,带有盒子装饰的 Ink 在父边框上绘制。这是 Ink 中的错误还是有人知道这里有什么问题?谢谢!

0 投票
0 回答
55 浏览

blockchain - 做墨水!智能合约还原

我正在用墨水调整!智能合约并通过https://polkadot.js.org/部署了一些测试合约。然而,尽管在智能合约中设置了条件语句,对它们的调用仍然通过而不会恢复。我在错误处理方面做错了吗?

示例代码:

0 投票
1 回答
83 浏览

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

最近由于Unable to create Enum via index 128, in Alive, Tombstone使用api.query.contracts.contractInfoOf. 我在命令行和 polkadot-js 应用程序资源管理器中都收到此错误。

这些是我采取的步骤:

  1. 部署一个合约salt
  2. 取回合同deployedAddress
  3. 采用contractInfoOf
  4. const contractInfo = await api.query.contracts.contractInfoOf(deployedAddress);

我试过降级ink!3.0-rc5, 3.0-rc43.0-rc3然后编译,但似乎没有任何区别。每当我的合同建立时,它都会rc6在顶部引用:

这表明它忽略了我.toml并使用rc6来编译合同。

我将我的cargo-contract版本更改为,0.14但这会导致 polkadot-js 无法读取合约 abi。

我已经尝试使用来自 master 的最新提交以及使用release的substrate-contracts-node 。v0.1.0两种情况下的错误相同。

有关 polkadot-js的问题中有更多详细信息。

有关如何获得工作设置的任何指示都会非常有帮助!

0 投票
1 回答
52 浏览

unit-testing - 如何在墨水中设置调用者!合约单元测试功能?

我正在为函数编写一个测试do_check函数。在这里,我想设置一个调用者,但不知道该怎么做。

0 投票
1 回答
71 浏览

substrate - 如何在 rust-ink 中从另一个合同中调用现有合同?

我有两个非常基本rust-ink的 dapp 合约:

应用程序 1

Dapp 1 将 dapp2 指定为toml:

dapp2 = { version = "3.0.0-rc7", path ="../dapp2", default-features = false, features = ["ink-as-dependency"] }

应用程序 2

当我运行这个构建时,dapp2编译但dapp1失败了

甚至我的 IDE 在单击时也能找到dapp2,那么这种导入样式有什么问题?

我已经看到了其他示例(123),其中合同只是导入到模块中,但这似乎对我不起作用。如果我这样做,我会得到:

墨水设置为master分支。Rust nightly 是最新的。版本是2021。示例代码在github上

0 投票
1 回答
21 浏览

substrate - polkadot 画布测试网合约部署错误“contracts.contractTrapped”

我正在尝试在 rococo canvas 上部署基本的 erc20 示例合约,但部署时出现“contracts.ContractTrapped”错误?任何提示将不胜感激,谢谢!

0 投票
2 回答
46 浏览

substrate - 在基材油墨车间上传 Flipper.contract 时出现 canvas-ui 错误

上传 wasm 二进制文件时,作为“ink-workshop”上的已编译智能合约 -canvas-ui我正在运行的只是错误。

画布用户界面错误:

在此处输入图像描述

步骤:'拖动包含捆绑的 wasm blob 的 Flipper.contract 文件......'

相关的 Github 问题部分是只读的,因此我在这里发帖。任何人都知道这里可能是什么问题?

0 投票
0 回答
16 浏览

substrate - 基材墨水!条件编译

所以我的合同中有以下外在功能:

此函数的主要目标是提前合约时间,以便我们可以测试一些与时间相关的值,但将其留在生产环境中并不是一个好主意。

因此,我正在尝试使用 rust 条件编译魔术并在使用 --release 标志构建合同时将其排除。

看来#[cfg(debug_assertions)] 与#[ink(message)] 有冲突,并且在编译期间找不到我的函数。

然后我尝试过的另一件事是在函数本身内部使用宏:

现在可以编译合约,但无论我是否使用 --release 标志编译合约,宏似乎总是返回 false,我认为这与我们针对 wasm 的事实有关。

有谁知道我怎样才能完成我想要做的事情?

0 投票
1 回答
36 浏览

rust - Rust 墨水,跨合约调用返回 ConctractTrapped 错误

正如标题所示,我正在尝试使用非常简单的字符串返回函数在已部署的合约上调用一个函数。

部署的contract1函数:

以下代码片段是 contract2 函数,用于从 contract1 返回值:

0 投票
0 回答
38 浏览

rust - Rust Ink - 使用调试缓冲区完成执行:在 `Err` 值上的“调用 `Result::unwrap()` 时出现恐慌:CalleeTrapped”

我试图对已部署的合约进行交叉合约调用,我在调试模式下运行本地 subtrate 节点,并且在尝试执行交叉合约时收到以下消息。

这是错误:

下面是DeployedContract1交叉调用函数代码:

下面是 DeployedContract2 (erc20/lib.rs)函数源代码: