【发布时间】:2021-06-04 22:17:49
【问题描述】:
我正在使用 Openzeppelin 的 ECR721 预设智能合约进行学习。
我想在创建新令牌来存储字符串(公共)时添加一个新字段。
目前只有“to:address”字段(截图如下)
我确定我需要在 mint 函数中添加一些东西:
【问题讨论】:
标签: ethereum solidity smartcontracts remix
我正在使用 Openzeppelin 的 ECR721 预设智能合约进行学习。
我想在创建新令牌来存储字符串(公共)时添加一个新字段。
目前只有“to:address”字段(截图如下)
我确定我需要在 mint 函数中添加一些东西:
【问题讨论】:
标签: ethereum solidity smartcontracts remix
在区块链上存储消息的最简单方法是发出事件。事件被永久存储并且公开可读。
mint() 函数之外定义新的MintMessage 事件。我不建议扩展在铸造期间使用的默认 Transfer 事件,因为外部工具(例如 Etherscan)可能会忽略非标准事件并且因此不会显示铸造的代币。mint() 函数添加新参数mint() 函数中发出MintMessage 事件event MintMessage(string message);
function mint(address to, string message) public virtual {
// keep the rest of your function as is
// add a new line emiting the event to the end of the function
emit MintMessage(message);
}
【讨论】: