【发布时间】:2021-08-23 03:47:01
【问题描述】:
我想在 Tron 区块链上发行一个代币,我从以下地址获得了它的模板: https://github.com/TRON-Developer-Hub/TRC20-Contract-Template
问题是我想将我的代币设置为每天自动铸造指定数量的代币。 (例如每天铸造 2000 个代币)
我应该在模板中添加什么?
【问题讨论】:
标签: token blockchain ethereum solidity tron
我想在 Tron 区块链上发行一个代币,我从以下地址获得了它的模板: https://github.com/TRON-Developer-Hub/TRC20-Contract-Template
问题是我想将我的代币设置为每天自动铸造指定数量的代币。 (例如每天铸造 2000 个代币)
我应该在模板中添加什么?
【问题讨论】:
标签: token blockchain ethereum solidity tron
你可以在下面添加一个函数。 但是你必须手动执行 mintDaily()
uint256 constant private dailyMinted = 2000e18;
uint256 lastMintTime;
address public _owner;
constructor(
string memory name,
string memory symbol,
uint8 decimals,
address owner
) public {
_name = name;
_symbol = symbol;
_decimals = decimals;
_owner = owner;
lastMintTime = block.timestamp;
}
function mintDaily() public {
require(_owner == msg.sender, "not permitted");
// 24h = 86400
require(lastMintTime + 86400 >= block.timestamp, "mint already" );
_mint(msg.sender, dailyMinted);
lastMintTime = block.timestamp;
}
【讨论】:
require(lastMintTime + 86400 >= block.timestamp, "mint already" );一定是这样的:require(lastMintTime + 86400 <= block.timestamp, "mint already" ); and lastMintTime = block.timestamp;在 mintDaily() 中必须是这样的:lastMintTime += 86400;(只是为未来的读者注意了这一点。)非常感谢您回答我的问题。