ERC20令牌中的分配功能可以在以后执行吗?

时间:2017-11-09 18:44:23

标签: token ethereum solidity

我需要在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);
 }
}

2 个答案:

答案 0 :(得分:0)

最好有一个声明功能,并让用户调用该函数来获取其令牌,而不是让所有者尝试分发它们。所有者为分发代币而必须支付的燃气量将令人叹为观止。

如果一个人将以太送到合同,可能会立即发出代币是更好的解决方案。

答案 1 :(得分:0)

确保为该功能添加一些健全性检查,您应该进行一些基本检查以避免用户错误。

e.g

 Geokit::default_units = params[:unit].to_sym