address.send() возвращает «true», но транзакция не происходит

Пытаюсь отправить эфир с контракта на другой адрес. Я использовал sendметод сделать это. Функция вернулась true, но транзакция вообще не состоялась. Контракт определенно имеет много баланса в нем.

Вот код моего контракта.

contract Betting {

  address public ac2 = 0xCB87BDB88EEF4ABC66AE6F1A131D41021C145863;
  address public myaccount = this;
  bool public transferStatus = false;

  event Transfer(address _from, uint256 _value);
  event TransferTo(address _to, uint256 _value);

  function Betting() {

  }

  function sendEther() payable returns (uint) {
    return msg.value;
  }

  function () payable {
   Transfer(msg.sender, msg.value);
  }

  function reward() payable returns (bool) {
    transferStatus = ac2.send(0.05 ether);
    TransferTo(ac2, 0.05 ether);
    return transferStatus;
  }

Изменить: я обнаружил, что транзакции, вызываемые из контракта, будут храниться как внутренние транзакции. Интересно, что в моем контракте даже нет вкладки внутренней транзакции в Etherscan.

Ответы (1)

Иногда etherscan требует времени для отображения внутренних транзакций. Но в итоге все пришло. Ошибки в коде не было.