Contract-Debugging
警告!合約執行過程中遇到的錯誤巴德__instruction乙一種d一世ns噸r在C噸一世這nBad instruction
我創建了一個智能合約來發行 ERC20 代幣,但是當我嘗試將代幣從一個地址發送到另一個地址時,我收到“警告!在合約執行期間遇到錯誤
$$ Bad instruction $$" etherscan.io 上的消息。令牌已創建並且契約已驗證。 此外,我可以從持有代幣的地址發送代幣,但是一旦我嘗試從接收方地址發送,我就會收到錯誤消息。
您可以在此處查看失敗的交易。
你的合約有錯誤
/* Internal transfer, only can be called by this contract */ function _transfer(address _from, address _to, uint _value) internal { require (_to != 0x0); // Prevent transfer to 0x0 address. Use burn() instead require (balanceOf[_from] > _value); // Check if the sender has enough require (balanceOf[_to] + _value > balanceOf[_to]); // Check for overflows balanceOf[_from] -= _value; // Subtract from the sender balanceOf[_to] += _value; // Add the same to the recipient Transfer(_from, _to, _value); }
它不允許轉移全部代幣,它必須嚴格減少。嘗試 11999,而不是 12000。
您必須將契約修改為
require (balanceOf[_from] >= _value);