在Tronix 合约(在许多交易所上市的大型 ICO)中有这个修饰符,用于所有代币转移:
modifier validAddress {
assert(0x0 != msg.sender);
_;
}
我了解合约如何直接将代币转移从 0x0000000000000000000000000000000000000000 写入账本,但在这种情况下,msg 仍然与现有合约或私钥相关联。
这是什么意思?开采交易如何msg.sender
等于 0?(发现 keccak256 哈希冲突的假设情况除外)
你可以在这里找到完整的 Tronix 合约代码:https ://etherscan.io/address/0xf230b790e05390fc8295f4d3f60332c93bed42e2#code