我正在尝试使用remix.ethereum.org上的注入web3环境(即元掩码)在Ropsten上部署以下合同/
pragma solidity ^0.4.16;
contract Coin {
// The keyword "public" makes those variables
// readable from outside.
address public minter;
mapping (address => uint) public balances;
// Events allow light clients to react on
// changes efficiently.
event Sent(address from, address to, uint amount);
// This is the constructor whose code is
// run only when the contract is created.
function Coin() public {
minter = msg.sender;
}
}
我以前可以使用remix轻松创建合约。我不确定发生了什么变化,但由于气体限制,我无法创建合同。我甚至将气体限制设置为2个完全的醚(即值1以太,最大值为2)。我的metamask钱包里有近3个醚。重新混合“帐户”下拉列表也正确显示我的元掩码地址,因此似乎已注入的环境已连接。
当我尝试创建此合同时,我无法通过所需的气体超过限制2错误。我为什么这个简单的合同会超过2个完整的Ethers的成本而感到头疼。
正在使用的混音的其他参数:
我忘记了混音的设置吗?我正在尝试从Chrome部署此功能。
编辑:我仍然在这个问题上摸不着头脑。刷新我的页面后,我能够在短时间内创建上面的合同,但是我今天进来尝试运行https://www.ethereum.org/token中的代码,我无法通过值为20的超量气体错误Gwei和3000000的限制。注意,我尝试使用上面的简单样本合同,我回到我开始时的位置 - 即使上面简单的“硬币”合同显然超过了气体限制。
编辑2:嗯,我想我到了某个地方。我已将编译器版本从“soljson-v0.4.20 + commit.3155dd80.js”更改为“soljson-v0.4.19 + commit.c4cbbb05.js”。然后我刷新页面3次。之后我等了几分钟,事情似乎又恢复了。这里还有其他的事情发生,因为当我在元掩码中拒绝交易然后返回重新混合再次创建时,我遇到了气体超出错误。我不相信这里的问题是metamask,因为我尝试使用testrpc本地连接 - localhost:8545 - 并遇到同样的问题。我可以说的是,我尝试创建的相同代码由于大多数时间的气体错误而无法提交,但无论编译器版本如何都偶尔有效。