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);
}
}
Пожалуйста, просто скажите место, ответив ЗДЕСЬ1 или ЗДЕСЬ2 бла-бла, как в сценарии выше.
например, мой адрес назначения, на который я хочу пересылать все eth по контракту, — 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127e, где я могу поместить его в сценарий?
Адрес назначения устанавливается на основе того, кто является создателем контракта на основе конструктора:
function Forwarder() public {
destinationAddress = msg.sender;
}
Если вы хотите 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127e
быть адресом назначения, вам просто нужно убедиться, что указанный вами адрес является создателем контракта.
Вы также можете выбрать замену destinationAddress = msg.sender
жестко заданным адресом, destinationAddress = 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127e
но вам не нужно этого делать, если вы знаете, как правильно запускать контракты с нужного адреса.