¿Cuál es el lugar correcto para poner la dirección de destino?

pragma solidity 0.4.21;

contract Forwarder {

  address public destinationAddress;
  event LogForwarded(address indexed sender, uint amount);
  event LogFlushed(address indexed sender, uint amount);

  function Forwarder() public {
    destinationAddress = msg.sender;
  }

  function() payable public {
    emit LogForwarded(msg.sender, msg.value);
    destinationAddress.transfer(msg.value);
  }

  function flush() public {
    emit LogFlushed(msg.sender, address(this).balance);
    destinationAddress.transfer(address(this).balance);
  }

}

Solo diga el lugar respondiendo AQUÍ1 o AQUÍ2, bla, bla, como está en el guión anterior.

por ejemplo, mi dirección de destino donde quiero que se reenvíe todo el eth del contrato es 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127e, ¿dónde lo coloco en el script?

Respuestas (1)

La dirección de destino se establece en función de quién es el creador del contrato en función del constructor:

function Forwarder() public {
  destinationAddress = msg.sender;
}

Si quieres 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127eque sea la dirección de destino, solo tienes que asegurarte de que la dirección que mencionas es la del creador del contrato.

También puede optar por reemplazar destinationAddress = msg.sendercon una dirección codificada, destinationAddress = 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127epero no debería necesitar hacerlo si sabe cómo iniciar contratos correctamente desde la dirección deseada.