Mist
不能在使用 Etherscan 在乙太坊錢包中創建合約,
使用以下程式碼,將其放入以部署新合約。
當我嘗試驗證 etherscan 上的程式碼時,它說它與契約的程式碼不匹配?
這是 Etherscan 連結:
https://etherscan.io/address/0x84f7f794867642a47ce577fe0d9745da6ac37c44
這是我在乙太坊錢包的部署合約部分插入的程式碼。
pragma solidity ^0.4.16; contract MyKidsEducationFund { string public constant symbol = "MKEF"; string public constant name = "MyKidsEducationFund"; uint8 public constant decimals = 18; address owner = 0x3755530e18033E3EDe5E6b771F1F583bf86EfD10; mapping (address => uint256) public balances; event Transfer(address indexed _from, address indexed _to, uint256 _value); function MyKidsEducationFund() public { balances[msg.sender] = 1000; } function transfer(address _to, uint256 _value) public returns (bool success) { require(balances[msg.sender] >= _value); require(_value > 0); require(balances[_to] + _value >= balances[_to]); balances[msg.sender] -= _value; balances[_to] += _value; Transfer(msg.sender, _to, _value); return true; } function () payable public { require(msg.value >= 0); uint tokens = msg.value / 10 finney; balances[msg.sender] += tokens; owner.transfer(msg.value); } }
匹配編譯器版本並選擇優化開/關非常重要,就像編譯合約和生成字節碼時的一切一樣。
您對
^
in 的使用pragma
使它有點模棱兩可,因為它可能已經用任何更高版本的編譯器編譯。稍加猜測,我得到了驗證
- 編譯器版本:v0.4.16+commit.d7661dd9
- 啟用優化:1
完成。沒有保修 ;-)
希望能幫助到你。