问题标签 [remix]

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

solidity - 如何在 REMIX(Solidity IDE)中从 web3 调用带有参数的构造函数

所以我用 Remix IDE 和一个带有这个合同参数的构造函数做了一个名为“投票”的合同

我通过这样做调用了合同:

所以直到现在一切正常!但现在我需要使用带有参数的构造函数部署智能

我发现很少有这样的方法:

但这对我不起作用!我怎么能用来自 web3.eth.contract 的 REMIX 中的参数调用我的智能合约构造函数!感谢:D

0 投票
1 回答
737 浏览

javascript - 无法签约余额

我正在尝试检查我的合约中是否有任何资金,并且该功能在混音中运行良好。solidity 函数实际上只是返回 this.balance(); 这就是我真正需要的。

我试图在 web3 中以编程方式调用这个函数,这就是我遇到麻烦的地方。我正在使用 web3 func eth.getBalance 来尝试获取合约的当前余额。

但是,当我按下 HTML 按钮调用此函数时,我的控制台中出现错误:

在此处输入图像描述

如果有人有解决方法让我在我的控制台中获取我的 this.balance() 值,那就太棒了。谢谢你。

0 投票
1 回答
988 浏览

javascript - 使用 Web3.js 将价值从 Solidity 合约转移到 Ganache 账户

我正在尝试将我的合同余额从 UI 转移到 ganache 帐户。

这是我的 Solidity 函数,在混音中效果很好:

这是我的 js 文件中的内容

addressInput.value 来自 HTML 表单。

当我点击绿色按钮并尝试将以太币发送到另一个帐户时,我的元掩码中出现此错误在此处输入图像描述

有什么想法可以让这个工作吗?谢谢。

0 投票
1 回答
755 浏览

javascript - 通过 web3 访问 Ganache 帐户

如何使用专用网络在 web3 中创建帐户变量?现在我在 ganache 端口:7545

我在我的代码中写了这个变量:

当我记录它时,它只返回当前在我的元掩码中选择的变量。

因此,如果我在元掩码中的帐户 1 上,那么这个^ var 记录地址帐户 1,如果我在帐户 2 上,相同的 var 将记录帐户 2 地址。

那么如何制作一个可以访问我目前没有选择的导入的 ganache 元掩码帐户的 var?

即我在我的元掩码中选择了 Account1,我想要

抢Account2

0 投票
1 回答
6415 浏览

arguments - Solidity Remix:传递多个 bytes32 类型参数

如何在 Remix 中传递多个参数?无论我以哪种方式将参数传递给setOrder函数,都会得到不同的错误:

SyntaxError:位置 1 处的 JSON 中的意外标记

错误:无效的 bytes32 值(arg=undefined,type="string",value="abc")

这是代码:

0 投票
1 回答
750 浏览

javascript - 简单传输在注入的 Web3 中不起作用

我有一个非常简单的solidity函数,仅用于将一些以太币从一个地址转移到另一个地址

在混音中,当我只是在 Javascript VM 上时,它可以正常工作

但是当我切换到注入的 web3 时,我遇到了一些意想不到的错误。

一方面,我的元掩码显示为以太币将发送到合同的地址,而不是我试图将其发送到的地址,加上元掩码中的值由于某种原因而为 0,而我试图发送我的总合约余额肯定知道是 5 醚。

在此处输入图像描述

这是我的控制台中记录的内容:

transact to SimpleDapp.transferEtherTo errored: Error: Error: [ethjs-rpc] rpc error with payload {"id":41874278090,"jsonrpc":"2.0","params":["0xf88a2b8501a13b860082786c9459a42535f42048040c3f5a1152c94af40c7169db80a45c4bade1000000000000000000000000c5fdf4076b8f3a5357c5e395ab970b5b54098fef822d46a09f632a5dbe56be62a9c245f23fa62d9fd8aee230bbda026c6d5822339d2bf9b3a01b4a248bca87bcb491f6f11a572bf158ba86459336e5b1b7eb91f1dda5fde87d"],"method":" eth_sendRawTransaction"} 错误:处理事务时出现 VM 异常:气体不足

知道为什么这在 JavacsriptVM 中工作正常而不是在注入的 web 3 中工作吗?

0 投票
0 回答
188 浏览

ethereum - remix JS VM 环境是否与 Solidity 开发的本地环境相同?

我为此花了几个小时有点迷茫,但我不知道为什么,基本上我有这个 Solidity 合约(引诱区块链的第 3 天)。该代码在 remix JS VM 环境中工作,但是当我尝试构建本地并使用 web3 在 ganache-cli 中运行它时,它将部署第一个工厂合同,但它不会使用工厂 createFund 函数来制作第二个合同。是否有不同的形式将 JS VM 环境重新混合到本地环境。还是我只是因为我还是新手而错过了什么?

下面是我正在玩的代码。

0 投票
0 回答
66 浏览

return-value - 来自合约的合约调用失败(在 VM 中成功)

以下测试合约通过 Remix 在 JavaScript VM 中部署和运行时按预期工作,但是当使用“Injected Web3”运行时,二级合约 TestA02 T2 的生成按预期生成和填充,所有 get 函数都通过主合约 TestA01 调用返回“0”值。如果您复制 TestA02 合约的地址并直接从 Remix 中寻址,则会返回预期值。代码如下。

这是我的错误还是误解?

说明:使用 Mist 版本 0.10.0 中的 Remix 编译和部署主合约代码 TestA01。

调用传递任何地址的 genEntry 函数。

然后调用任何 get 函数。

代码:

主合约代码TestA01:

二级合约代码TestA02:

0 投票
0 回答
398 浏览

blockchain - Solidity 状态变量在函数内部重置为默认值

对于这个项目,我正在使用 Solidity 为以太坊编写智能合约。

在以下代码中,变量numCertificates最初应为 1。尽管如此,newCertificateId 在分配时为 0。根据调试器(我正在使用 remix.ethereum.org),由于某种原因,一旦到达分配 newCertificateId 的行,numCertificates 就会变为 0。

我玩过很多混音,根据它,numCertificates 是 1,直到达到上述行。另外,我认为如果我在另一个函数中修改 numCertificates,该变量将保持与以前相同。

我试图弄清楚这一点的尝试使我相信,当我访问 numCertificates 时,我访问的不是公共状态变量,而是其他东西。

为什么这段代码会出现这个问题,如何解决?

0 投票
1 回答
681 浏览

solidity - 如果 for 循环中的语句没有过滤掉可靠的项目

结果应该是与输入的物理地址匹配的 id 列表,但它不会过滤,而是返回所有可用的房屋。当我更改为使用 String utils 时,没有任何变化。

这是整个代码: