Ico

如何在不成功的 ICO 中退還投資者

  • December 22, 2017

我正在嘗試創建一個智能合約,如果代幣的預訂不成功,客戶可以在那裡退還乙太坊。

是否可以在合約中創建一個功能供投資者使用退款,讓用於退款交易的gas由投資者支付。如果是這樣,一個人怎麼能做到這一點。

主要目標是在智能合約中建立退款,但避免 ICO 的創建者為退款支付大量費用。

最好的做法是要求使用者從合約中提取資金,而不是自己將資金推給他們。

這意味著使用者將支付與提款相關的所有交易費用。如我上面提供的連結所示,如下所示的功能就足夠了。使用者應該從他們自己的賬戶呼叫這個函式,而不是你發起退款。

function withdrawRefund() external {
   uint refund = refunds[msg.sender];
   refunds[msg.sender] = 0;
   msg.sender.transfer(refund);
}

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