事务事件函数名未出现
Transaction event function name does not appear
我编写了一个简单的合约来测试事件,如下代码所示:
pragma solidity ^0.6.12;
contract EventTest {
address public router;
event RouterUpdated(address indexed newAddress);
function setRouter(address newAddress) public {
router = newAddress;
emit RouterUpdated(newAddress);
}
}
为什么没有出现交易事件函数名?
Check result
它以事件签名的 keccak256
哈希的形式存储在区块链上。
keccak256("RouterUpdated(address)") == 0x7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc80
它没有翻译成原文 RouterUpdated
只是因为 Etherscan 没有将它翻译成人类可读的形式。
由于散列是一种单向函数,这种翻译通常使用字典来完成,其中键是散列,值是输入。
他们在 UI 的某些部分将函数签名转换为函数名称,但出于某种原因,他们选择不将事件签名转换为事件名称。
我编写了一个简单的合约来测试事件,如下代码所示:
pragma solidity ^0.6.12;
contract EventTest {
address public router;
event RouterUpdated(address indexed newAddress);
function setRouter(address newAddress) public {
router = newAddress;
emit RouterUpdated(newAddress);
}
}
为什么没有出现交易事件函数名? Check result
它以事件签名的 keccak256
哈希的形式存储在区块链上。
keccak256("RouterUpdated(address)") == 0x7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc80
它没有翻译成原文 RouterUpdated
只是因为 Etherscan 没有将它翻译成人类可读的形式。
由于散列是一种单向函数,这种翻译通常使用字典来完成,其中键是散列,值是输入。
他们在 UI 的某些部分将函数签名转换为函数名称,但出于某种原因,他们选择不将事件签名转换为事件名称。