eth_getStorageAt只返回某个槽的32字节值,不会告诉你变量名。普通变量、packed字段、mapping、动态数组和代理各有不同定位规则;没有编译器storagelayout或可验证源码时,读到非零值也不能随意命名。能依据一手来源判断eth_getStor
eth_getStorageAt只返回某个槽的32字节值,不会告诉你变量名。普通变量、packed字段、mapping、动态数组和代理各有不同定位规则;没有编译器storagelayout或可验证源码时,读到非零值也不能随意命名。能依据一手来源判断eth_getStor
交易回执的status=1只说明EVM顶层执行没有回滚,不代表用户业务一定达成。合约可能捕获内部失败、返回false、发出意外事件,或把资产送到错误对象;因此inclusion、execution与businessoutcome必须分层验收。能依据一手来源判断eth_g
eth_getTransactionCount返回的是账户交易计数视图。latest只包含已上链nonce,pending还可能计入当前节点内存池看到的连续待处理交易;多台RPC、并发发送和交易掉池会让结果分叉。能依据一手来源判断eth_getTransactionCo
eth_maxPriorityFeePerGas给的是节点建议小费,不是“总Gas价格”。EIP-1559交易还要面对区块basefee和用户设置的maxFeePerGas;只有三者关系合理,交易才既有机会及时打包又不会越过费用上限。能依据一手来源判断eth_maxPr
清晰签名不是一个绿色安全标章,而是让硬件设备把待签内容翻译成人能读懂字段的展示能力。判断能否继续,关键在设备屏幕实际显示了什么,而不是桌面端是否出现漂亮的协议名称。
Trezor的passphrase更接近生成另一个钱包的附加输入,不能理解成可找回的登录密码。任何字符、空格或大小写不同,设备都会导出另一组有效地址,而且不会提示输入错误。
WalletConnect会话不是简单的已连接布尔值。SessionNamespaces同时约束链、账户、方法和事件;只看账户地址而忽略方法集合,容易把只读会话误当成可签名会话。
CIDv0与CIDv1可以指向相同内容,但编码形式和使用场景不同。迁移时先证明multihash保持一致,再选择base32、base58btc或其他multibase;只比较字符串外观会把同一对象误判成两个文件。
MetaMask连接Ledger或Trezor时,私钥不会导入浏览器;扩展只读取硬件钱包导出的账户,并把待签数据交给设备。安全前提是账户路径、地址和设备屏幕三者一致。
Trezor的CheckWalletBackup是在设备上完成的恢复词演练:它验证现有备份能否重建当前钱包,但不会把词语发送给网站,也不需要先清空设备。正确入口来自TrezorSuite,所有单词只在设备上输入。