问题标签 [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 回答
1228 浏览

ethereum - 混音帐户获取私钥

我想在混音中签署消息,与以太坊合约进行交互。

但是我找不到私钥。

在此处输入图像描述

0 投票
0 回答
764 浏览

ethereum - 智能合约错误:所需气体超过 300,000

我正在建立一个众筹智能合约并且我正在使用 ropsen tesnet 和 remix。

我这次众筹的代币地址是“0x6f734b9a097f17bc4c1f4348801587ce5e0177e2”

一切正常,我可以调用大部分函数。例如setStart,setEnd,hasEnded等。但是当我调用函数buyTokens时,我从remix中得到了这个错误:

交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需的气体超过限制:300000。重要的气体估计也可能是合约代码出现问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。

这是我众筹的编码:

如果有人能指出我正确的方向,我将不胜感激。

无论我设置什么限制,我似乎总是“需要的气体超过限制”:

交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需的气体超过限制:300000。重要的气体估计也可能是合约代码出现问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。交易到 FastInvestTokenCrowdsale.buyTokens 待处理 ... 交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需气体超过块气体限制:3000000000000。重要的气体估计也可能是合约代码中存在问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。交易到 FastInvestTokenCrowdsale.buyTokens 待处理 ... 交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需气体超过区块气体限制:3000000000000。重要的气体估计也可能是合约代码中存在问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。交易到 FastInvestTokenCrowdsale.buyTokens 待处理 ... 交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需的气体超过了块气体限制:3000000000000000000000000000000000。重要的气体估计也可能是合约代码中存在问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。交易到 FastInvestTokenCrowdsale.buyTokens 待处理 ... 交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需气体超过区块气体限制:300000000000000000000000000000000。重要的气体估计也可能是合约代码中存在问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。transact to FastInvestTokenCrowdsale.buyTokens pending ... transact to FastInvestTokenCrowdsale.buyTokens errored: Gas required exceeds block gas limit: 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. An important gas estimation might also be the sign of a problem in the contract code. 请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。交易到 FastInvestTokenCrowdsale.buyTokens 待定 ... 交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需的气体超过了区块气体限制:3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 的一个重要问题。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。transact to FastInvestTokenCrowdsale.buyTokens pending ... transact to FastInvestTokenCrowdsale.buyTokens errored: Gas required exceeds block gas limit: 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. An important gas estimation might also be the sign of a problem in the contract code. 请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。transact to FastInvestTokenCrowdsale.buyTokens pending ... transact to FastInvestTokenCrowdsale.buyTokens errored: Gas required exceeds block gas limit: 30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. An important gas estimation might also be the sign of a problem in the contract code. 请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。交易到 FastInvestTokenCrowdsale.buyTokens 待处理 ... 交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需气体超过限制:10。一个重要的 gas 估计也可能是合约代码中存在问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。交易到 FastInvestTokenCrowdsale.buyTokens 待处理 ... 交易到 FastInvestTokenCrowdsale.buyTokens 错误:所需气体超过限制:1. 重要的气体估计也可能是合约代码出现问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。向 FastInvestTokenCrowdsale.buyTokens 交易错误:所需气体超过限制:1. 重要的气体估计也可能是合约代码出现问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。向 FastInvestTokenCrowdsale.buyTokens 交易错误:所需气体超过限制:1. 重要的气体估计也可能是合约代码出现问题的迹象。请检查循环并确保您没有将值发送到非应付函数(这也是强气体估计的原因)。

0 投票
0 回答
317 浏览

html - 使用 HTML 调用 Solidity 函数

我在 Remix IDE 中编写了以下函数,该函数在 IDE 中创建合同时有效,但是当尝试在我的 HTML 代码中调用它时,该代码使用 testRPC 和 web3 提供程序连接,我收到一个气体不足的错误。

以下是尝试使用从 3 个输入字段中检索到的值调用函数的 HTML 代码:

控制台的输出是正确的,例如输入 3、3、3,所以我不确定为什么此输入不适用于solidity 功能,感谢任何帮助。

0 投票
0 回答
508 浏览

ethereum - 所需气体超过限制

我正在尝试使用 remix.ethereum.org/ 上的注入 web3 环境(即元掩码)在 Ropsten 上部署以下合约

我以前可以使用 remix 轻松创建合同。我不确定发生了什么变化,但由于气体限制,我根本无法创建合约。我什至已经将气体限制设置为 2 个完整的以太币(即价值 1 个以太币,最大值为 2)。我的 metamask 钱包里有近 3 个以太币。混音“帐户”下拉菜单也正确显示了我的元掩码地址,因此看起来注入的环境已连接。

当我尝试创建此合同时,我无法超过所需的气体超过限制 2 错误。我正在摸不着头脑,为什么这个简单的合约会超过 2 个完整以太币的成本。

使用中混音的其他参数:

优化=false&版本=soljson-v0.4.20+commit.3155dd80.js

有没有我忘记的混音设置?我正在尝试从 Chrome 部署它。

编辑:我仍然在这个问题上摸不着头脑。刷新我的页面后,我能够在上面短暂地创建合约,但我今天进来尝试运行来自https://www.ethereum.org/token的代码,但我无法通过超额气体错误,值为 20 Gwei,限制为 3000000。请注意,我尝试使用上面的简单示例合约,但我又回到了开始时的状态——即使上面的简单“硬币”合约显然也超过了 gas 限制。

编辑2:嗯,我想我到了某个地方。我已将编译器版本从“soljson-v0.4.20+commit.3155dd80.js”更改为“soljson-v0.4.19+commit.c4cbbb05.js”。然后我刷新页面3次。之后,我等了几分钟,事情似乎又恢复了。这里还发生了其他事情,因为当我在 metamask 中拒绝交易然后返回重新混合以再次创建时,我遇到了气体超出错误。我不相信这里的问题是元掩码,因为我尝试使用 testrpc - localhost:8545 在本地连接 - 并遇到同样的问题。我只能说,由于气体错误,我尝试创建的相同代码大部分时间都无法提交,但无论编译器版本如何,偶尔都能正常工作。

0 投票
1 回答
430 浏览

blockchain - 所需气体超过限制:3000000。

我已经在 Remix IDE 中可靠地编写了这段代码。合约已成功创建,但当我使用它时,它给了我一个错误,说“所需的气体超过限制:3000000。重要的气体估计也可能是合约代码中存在问题的迹象。请检查循环并确保你做到了未将价值发送给非应付函数”。我没有写太多代码,但它仍然给了我这个错误。任何人都可以帮忙吗?

0 投票
1 回答
140 浏览

ethereum - 创建结构会导致 remix ide 出现奇怪的行为

问题:Remix 产生奇怪的行为,字符串参数后跟数组参数

复制:

当您使用参数调用 createItem() 时,"hello", [1,2,3]第一个参数将转换为\u0000. 通过 MEW 与合约交互时,具有相同参数的相同函数调用可以正常工作

0 投票
2 回答
332 浏览

solidity - Solidity 合约不起作用

我在 remix ethereum 和 web3 中运行我的第一个 Solidity 合约时遇到问题,所以我猜我的合约代码有问题:

我成功地在 remix 和 web3 中部署了合约。但是,在向合约发送交易后,aaa变量仍然是0。我想要这段代码做的是将aaa变量更新为最后存入的金额,以便我稍后可以通过调用该reader函数来读取它。在混音中,它不显示aaa变量的任何输入字段。此外,在 MetaMask 中,发送到合约的交易即使已经完成也保持待处理状态(余额在 remix 和 testRPC 中更新。)

在节点中,我使用以下行来尝试执行该reader函数,但我不确定这是否可行。

0 投票
0 回答
372 浏览

ethereum - Unable to open Ganache locally deployed contract in remix.ethereum

I have successfully deployed a solidity contract locally with Ganache. I would now like to interact with it via http://remix.ethereum.org/

In the remix editor,I have selected the "web3 provider" and connected to my local Ganache at "http://127.0.0.1:7545"

enter image description here

I have inserted my contract's Address in the "At address" section, but I continually connect to the default "Ballot" contract provided by remix. Can anyone help me connect to my locally deployed contract?

0 投票
1 回答
1048 浏览

ethereum - Remix Web3 Provider:Out of Gas - Ethereum Ganache 和 TestRPC

我在使用 ganache 和 testRPC 时遇到问题,out of gas只有在使用 web3 提供程序时才会出现错误,但在使用 Javascript VM 或 truffle javascript 测试时不会出现错误。

我的映射设置如下:

抛出 a 的方法VM Exception while processing transaction: out of gas是:

如果我注释掉这两delete行,它就会成功运行。但是,如果我使用delete或者即使我只是重新分配它们,它们也会失败。

通过 Truffle 的测试套件运行它时,它可以工作,并且当使用 Javascript VM 通过 Remix 手动提交这些操作时,它也可以工作。只有当它连接到 testRPC 或 ganache 时才会失败。

其他所有方法似乎也可以从 ganache 中正常工作,只是删除似乎有问题。我也看到了一些关于此的参考,因为 gas 已退还,而且由于这种方法的 gas 价格相当低,它会在 ganache 中引起一些怪异。有没有一种解决方法,它不会让我每次想要进行更改时都必须将合同上传到测试网络?


编辑:似乎我可以证明这与低耗气量无关,而是与映射索引的清除有关。我在方法中添加了一些大量的气体消耗,它仍然以同样的气体错误退出。

新状态变量:

然后在我添加的方法中

这将气体消耗量从43279到 ,141513但它仍然提供了气体错误。

0 投票
1 回答
755 浏览

ethereum - 无法在新混音上复制 ABI

我一直在尝试复制我的合同的 ABI,但是当我复制并粘贴它时,我看到的是“[]”。请帮忙