主页 > 怎样下载imtoken > 以太坊智能合约更新、交易和事件
以太坊智能合约更新、交易和事件
怎样下载imtoken 2023-09-08 05:11:11
提问者:Little Ethereum 智能合约更新、交易和事件
我对以太坊智能合约版本控制有疑问。 关于如何分离逻辑和数据、如何在引用其他合约时使用接口、如何使用通用键值存储存储数据以及如何以强类型方式通过库函数检索数据以太坊版本更新,已经有很多文章。
从旧版本的智能合约查询交易和事件日志怎么样? 无法迁移事务和发出的事件。 它们是不可变的。 也许您需要在客户端应用程序中跟踪它们的历史记录。 事件可以在不同的合约版本中添加、删除或更改其签名。 您如何处理多个版本合约的交易输入和事件数据的查询和解码?
共 1 个回答
匿名用户
Solity 中的每个事件在内部都由其签名的哈希值表示。 函数也由散列表示。
let encodedFunctionSignature = web3.eth.abi.encodeFunctionSignature('sendMessage(string,address)');
console.log(encodedFunctionSignature);
// => 0xc48d6d5e
signatuare 是函数签名字符串接管的 keccak256 散列的前 32 个字节以太坊版本更新,删除了空格。
如果事件签名发生变化,哈希值也会发生变化,您可以区分事件的不同 ABI。
然后,您只需要具有 ABI 文件的匹配版本即可将事件解码为人类可读的符号形式。