Ico
如何在不成功的 ICO 中退還投資者
我正在嘗試創建一個智能合約,如果代幣的預訂不成功,客戶可以在那裡退還乙太坊。
是否可以在合約中創建一個功能供投資者使用退款,讓用於退款交易的gas由投資者支付。如果是這樣,一個人怎麼能做到這一點。
主要目標是在智能合約中建立退款,但避免 ICO 的創建者為退款支付大量費用。
最好的做法是要求使用者從合約中提取資金,而不是自己將資金推給他們。
這意味著使用者將支付與提款相關的所有交易費用。如我上面提供的連結所示,如下所示的功能就足夠了。使用者應該從他們自己的賬戶呼叫這個函式,而不是你發起退款。
function withdrawRefund() external { uint refund = refunds[msg.sender]; refunds[msg.sender] = 0; msg.sender.transfer(refund); }