Contract-Development

如何在代幣合約上設置 gas 和/或 gasPrice?

  • October 13, 2018

從 Ethereum.org 複製了這個代幣合約,部署到 Rinkeby 後,我無法購買代幣。我真的不知道為什麼,但我認為那是因為我沒有在契約上設置天然氣。有沒有辦法在這個合約上設置gas?

錯誤: 在此處輸入圖像描述

即使你從 ethereum-github 複製了智能合約程式碼,也會顯示not enough transaction fees, this transaction will fail. 因為一旦部署了智能合約,您必須編寫一個函式來轉移乙太幣或獎勵智能合約地址可能收到的另一個帳戶,因此您永遠不能將其轉移到任何其他地址。

為此,您需要在智能合約程式碼中寫入以下函式:

聲明這兩個變數

地址公共coinOwner;

uint public receivedMoney;

映射(地址 => uint)公共未決取款;

在建構子之後添加payable關鍵字。public

還添加這兩個功能:

function sendReceivedMoneyToOwner() public payable returns (bool) {

    if (msg.value > receivedMoney) {        
        pendingWithdrawals[coinOwner] += msg.value;

        coinOwner = msg.sender;

        receivedMoney = msg.value;

        return true;

    }

    else {

        return false;

    }

}

function withdraw() public {

    uint amount = pendingWithdrawals[msg.sender];

    // Remember to zero the pending refund before

    // sending to prevent re-entrancy attacks

    pendingWithdrawals[msg.sender] = 0;



    //msg.sender.transfer(amount);

    if(!msg.sender.send(amount))

    {

        revert();  //throw;  BUT throw is deprecated!

    }

}

您可以在此處獲得更多詳細資訊

希望能幫助到你!

我通常有這個問題,因為連接不好。重新啟動你的錢包並等到“尋找同行……”文本消失



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