簡體   English   中英

ERC20令牌中的分配功能可以在以后執行嗎?

[英]Distribution function in ERC20 token which can be executed on a later stage?

我需要在ERC20令牌代碼中實現Distribute函數,該函數在執行時將在地址數組上發送相等數量的令牌。 下面是我將為此使用的源代碼。 當然,我將更改令牌的變量:

https://pastebin.com/wAe9a1EV

我在合同末尾添加的Distribute函數是否合適並且不會干擾其余的源代碼? 如果我將具有該功能的合同部署在區塊鏈上,可以在以后通過Myetherwallet或Mist使用該功能執行分發嗎?

 function distributeToken(address[] addresses, uint256 _value) onlyOwner{
 for (uint i = 0; i < addresses.length; i++) {
 balances[owner] -= _value;
 balances[addresses[i]] += _value;
 Transfer(owner, addresses[i], _value);
 }
}

最好有一個Claim函數,並讓用戶調用該函數以獲取其令牌,而不是讓所有者嘗試分發它們。 擁有者為分發代幣而必須支付的汽油量將是驚人的。

最好在hser將以太幣發送給合約后立即發出令牌。

確保為該功能添加了一些健全性檢查,應該進行一些基本檢查以避免用戶錯誤。

例如

require(_value > 0);
require(balances[owner] >= (_value * addresses.length));

// In your loop
require(addresses[i] != 0x0);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM