Как я могу скомпилировать атомный код через терминал, используя трюфель? - PullRequest
0 голосов
/ 04 октября 2018

Я пытался скомпилировать свой атомный код через терминал Mac, и я получил эту ошибку:

Ошибка анализа /Users/owner/Desktop/contracts/contracts/ApprovalContracts.sol: ParsedContract.sol: 6: 36: ParserError: Ожидаемое основное выражение.адрес публичного постоянного утверждающего =;^ Компиляция не удалась.См. Выше.

Мне нужно скомпилировать мой код из Atom с использованием терминальной трюфельной компиляции

Вот код:

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 imageenter image description here">

1 Ответ

0 голосов
/ 13 декабря 2018

Есть несколько проблем с вашим кодом.

  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);
    }
}
...