Solidity

帶有鬆露的控制結構(斷言和要求)

  • June 28, 2017

當我嘗試部署包含assertrequire使用松露的契約時,我收到

Error: Undeclared identifier.

例如:

pragma solidity ^0.4.8;

contract Owned{

   address public owner = msg.sender;


   modifier onlyOwner(){
       assert(msg.sender == owner);
       _;
   }

   function kill() onlyOwner{
       require(msg.sender ==owner);
       suicide(owner);
   }
}

我知道過去 truffle 創建了它自己的assert.sol,但他們肯定已經更新它以與 Solidity 保持一致,它並沒有解釋為什麼require也會失敗。

我將非常感謝有關如何克服此問題的任何想法。

該程式碼在我的機器上完美執行。我能夠遷移和編譯給定的程式碼。

我使用的松露版本是 - 3.2.5

升級到此版本,將解決您的問題。

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