Solidity

哪個是放置目的地地址的正確位置?

  • June 18, 2018
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);
 }

}

請通過回复 HERE1 或 HERE2 blah blah 說出地點,因為它在上面的腳本中。

例如,我希望將合約上的所有 eth 轉發到的目標地址是 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127e,我應該將它放在腳本的哪個位置?

目標地址是根據誰是基於建構子的合約創建者來設置的:

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

如果你想0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127e成為目標地址,你只需要確保你提到的地址是合約的創建者。

您也可以選擇destinationAddress = msg.sender用硬編碼地址替換,destinationAddress = 0x7e0fE0Bd87F84906bc19438fb5F932e189Dd127e但如果您知道如何從所需地址正確啟動合約,則不需要這樣做。

引用自:https://ethereum.stackexchange.com/questions/51511