Mist

通過乙太坊錢包部署合約的問題

  • May 15, 2018

將 geth 版本更新到 1.5.6 後,我在乙太坊測試網中部署合約時遇到問題。我一直在嘗試按如下方式部署基本契約

pragma solidity ^0.4.2;
contract Sha_hash_bytes_links
{
    function return_int()returns(uint x) 
       {
           return(0);
       }
 }

但我不斷收到以下錯誤。

在此處輸入圖像描述

我的測試網賬戶地址是 0x03a4406f8A50192986Ab6Ad7057AA0A958823Ed5,裡面有近 36 個乙太幣,所以應該不是資金不足的問題。在此更新之前,我還能夠部署其他合約。有人可以指導我嗎?

該錯誤意味著錢包正在評估交易並發現將導致錯誤的問題。錯誤不一定在看起來有效的契約程式碼中。

確保您不會在交易中無意中發送乙太幣。這很容易被忽視,尤其是在快速迭代測試時。創建此契約時 msg.value必須為零。

為了完整起見,如果您希望合約接受並儲存一些初始乙太幣,則必須使用payable關鍵字顯式聲明建構子。這不存在,因此如果在創建合約時發送了任何乙太幣,部署將失敗。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/11378