加密货币 EIP-55 地址校验和:大小写为什么不能随便改 以太坊地址里的大小写并不总是随意排布,它们可以承载 EIP-55 校验信息。本文讲清地址本体与校验和的区别,解释为什么改成全小写不能修复错误,以及校验通过为何仍可能转错人或转错链。
智能合约 合约开源验证:浏览器显示 Verified 就安全吗? 区块浏览器上的 Verified 标记,证明的是源码与链上代码之间的对应关系,不是安全认证。本文讲清编译验证、代理实现、权限与审计范围,给出普通用户也能执行的核查顺序。
智能合约 什么是交易模拟?eth_call 成功后,为什么上链仍会失败 钱包在签名前能预览资产变化,靠的是交易模拟等技术。本文讲清 eth_call、Gas 估算、区块状态、调用者和授权条件,解释模拟成功为什么不保证实际成交,也不等于资产安全。
智能合约 什么是 call 和 staticcall?合约互相调用时,谁能修改状态 call 和 staticcall 都返回成功标记与原始数据。本文讲清执行上下文、ETH 转账、错误处理、只读约束、返回值和重入风险。
智能合约 什么是 Permit 签名授权?不用先发 Approve,为什么也能花你的代币 Permit 能用结构化签名设置或使用代币权限。本文讲清 ERC-2612、Permit2、nonce、期限、spender、撤销方式与盲签风险。
区块链基础 什么是 Chain ID?钱包如何识别网络,交易签名为什么不能跨链复用 Chain ID 是 EVM 网络的身份编号。本文讲清交易重放保护、同地址不同账本、自定义 RPC、消息签名与转错链之间的区别。
智能合约 什么是整数溢出和 unchecked?Solidity 0.8 为什么默认让交易失败 Solidity 0.8 默认在整数溢出或下溢时回退,unchecked 会恢复绕回行为。本文讲清边界、类型转换、位移、Gas 与安全证明。
智能合约 什么是 Modifier?onlyOwner 和 nonReentrant 前面的修饰器做了什么 Modifier 会把检查和前后处理包进函数。本文讲清下划线位置、执行顺序、权限、重入保护、继承与代理中的真实行为。
智能合约 什么是 Mapping?链上余额表为什么不能直接遍历所有地址 Mapping 用 Key 直接查 Value,却没有长度和内置键列表。本文讲清默认值、嵌套授权、索引、删除、事件与代理存储风险。
智能合约 什么是 view、pure 和 payable?合约函数为什么能读、能写或能收 ETH view、pure 和 payable 描述函数与链上状态及 ETH 的关系。本文讲清只读调用、Gas、STATICCALL、msg.value 和收款风险。
智能合约 什么是 constant 和 immutable?合约里的值真的永远不能改吗 constant 在编译期确定,immutable 在部署构造阶段确定。本文讲清存储、Gas、初始化、错误部署和代理升级中的真实边界。
智能合约 什么是 public、external、internal 和 private?合约函数可见性怎么选 Solidity 四种函数可见性决定调用边界,却不等于访问控制或链上保密。本文讲清外部调用、继承、自调用、ABI 与代理风险。
智能合约 什么是 block.timestamp?合约里的“时间”为什么不是精确时钟 block.timestamp 是交易所在区块的时间戳,不是实时倒计时。本文讲清 slot、截止边界、交易延迟、时间锁和随机数风险。
智能合约 什么是 storage、memory 和 calldata?数据放在哪里,为何影响修改和 Gas storage、memory 和 calldata 决定数据的生命周期、可修改性与复制方式。本文用对比和实例讲清引用、副本、Gas 与常见代码风险。
智能合约 什么是 receive 和 fallback?给合约转账时,到底会执行哪个函数 receive 处理空 calldata 的原生币转账,fallback 承接无法匹配的调用。本文讲清入口分流、payable、代理转发、Gas 与排查方法。
智能合约 什么是 revert 和自定义错误?交易失败时,那串提示从哪里来 Revert 会撤销合约状态变化并返回错误数据。本文讲清 require、assert、Custom Error、错误冒泡、低级调用和失败交易排查。
智能合约 什么是 ABI 和函数选择器?钱包为什么能把十六进制翻成合约操作 ABI 是钱包与智能合约之间的编码说明书,函数选择器决定调用入口。本文讲清 calldata、参数解码、代理、碰撞与核查方法。
智能合约 什么是 tx.origin 和 msg.sender?合约判断调用者时为什么不能混用 msg.sender 表示当前调用者,tx.origin 表示交易最初发起者。本文讲清调用链身份、钓鱼授权、代理、元交易和安全检查方法。
智能合约 什么是 Multicall?钱包里一笔交易,为什么能连续做多件事 Multicall 把多个函数调用打包进同一笔交易,可组合原子操作,也可能隐藏授权与资产变化。本文讲清原理、失败模式与核查方法。
智能合约 什么是 Event 和 Log?区块浏览器为什么能找到每笔代币转账 Event 是合约执行时留下的链上日志,钱包和浏览器通过 Topics 与 Data 建立历史。本文讲清日志结构、状态区别、索引与仿冒风险。
智能合约 什么是 Merkle Proof?空投名单为什么只用一个 Root 就能验证 Merkle Tree 能把大量名单压成一个 Root,领取者用短 Proof 证明自己属于集合。本文讲清树、叶子、验证路径、重复领取与实现风险。
智能合约 什么是 delegatecall?借用别人的代码,为什么改的是自己的合约存储 delegatecall 会借用目标合约代码,却在调用合约的地址、余额和存储上下文执行。本文讲清代理升级、存储冲突、初始化与权限风险。
钱包与安全 什么是签名重放攻击?同一份钱包签名,为什么可能被再次使用 重放攻击不需要伪造签名,而是重复或跨环境使用真实授权。本文讲清 Nonce、期限、chainId、验证合约与 EIP-712 的保护边界。