如何使用松露在终端上编译原子代码?

时间:2018-10-04 10:23:23

标签: truffle

我试图通过Mac终端编译原子代码,但收到此错误:

错误解析/Users/owner/Desktop/contracts/contracts/ApprovalContracts.sol:ParsedContract.sol:6:36:ParserError:预期的主表达式。 解决公共常量批准者=; ^ 编译失败。见上文。

我需要使用终端松露编译器从原子编译我的代码

代码如下:

pragma solidity ^0.4.18;

contract ApprovalContracts {

address public sender;
address public receiver;
address public constant approver =;

function deposit(address _receiver) external payable {
 require(msg.value > 0);
 sender = msg.sender;
 receiver = receiver;
}

function viewApprover() external pure return(address)  {
return(approver);
}

function approve() external {
require(msg.sender == approver);
receiver.transfer(address(this).balance);
}
}

enter image description here <code>enter image description here</code>

1 个答案:

答案 0 :(得分:0)

您的代码有一些问题。

  1. 您必须使用值初始化常量变量approver
  2. 在第12行,代码应为receiver = _receiver;
  3. 在第15行,它应该是returns(address)而不是return(address)

最终代码应该是这样的

pragma solidity ^0.4.18;

contract ApprovalContracts {

    address public sender;
    address public receiver;
    address public constant approver="some address here";

    function deposit(address _receiver) external payable {
        require(msg.value > 0);
        sender = msg.sender;
        receiver = _receiver;
    }

    function viewApprover() external pure returns(address) {
        return(approver);
    }

    function approve() external {
        require(msg.sender == approver);
        receiver.transfer(address(this).balance);
    }
}