
一、连通节点不等于完成交易所对接
讨论对接时,首先要区分链上数据接口与交易所业务系统。Ethereum的JSON-RPC文档介绍的是应用如何通过节点读取区块链数据、向网络发送交易,并不是某家交易所的接入规范。
因此,节点请求得到响应,只能说明相应接口调用取得了结果,不能据此断定平台已经完成资产识别、账户映射或入账处理。本文适用于通用接口理解,不替代具体平台的技术要求。

二、接口统一不代表实现完全相同
JSON-RPC提供共同的方法约定,但Ethereum文档也提示,不同客户端的方法支持和部分返回字段可能存在差异。把一个环境中的示例直接视为所有环境的保证,是常见误区。

理解兼容性时,应分别看方法是否支持、参数是否符合约定、结果如何解释,而不是只看接口名称是否一致。
三、十六进制字符串并非同一种数据
节点接口中的数量与字节数据都可能以0x开头,但编码规则不同:数量采用紧凑表示,零写作0x0;字节数据则按每字节两位十六进制数字表达。
这意味着,不能对金额、地址和哈希统一执行删除前导零等处理。格式转换必须先识别数据类型,否则外观相似的字符串可能被错误解释。
四、查到余额不等于确认平台入账
Ethereum文档中的状态查询带有区块参数,pending、latest、safe和finalized代表不同的查询参照。忽略这个参数,就容易把不同状态下的数据当成同一时点的结果。
链上查询回答的是指定状态下的数据问题,不能单独回答交易所是否已经记账。排查差异时,需要先把链上状态与平台账务状态分开。
五、以太币与ERC-20不能混为一谈
OpenZeppelin的ERC-20文档讨论的是由代币合约记录余额和转移数量的机制。它不能直接充当以太币节点接口的说明,也不能证明某个交易所支持某种代币。
阅读技术材料时,应先确认对象究竟是以太币,还是ERC-20代币,再判断文档中的接口与金额规则是否适用。
六、精度不是给整数随意加小数点
OpenZeppelin说明,ERC-20合约中的金额计算使用整数,decimals用于界面换算。例如精度为2时,原始整数123对应显示数量1.23;显示换算不改变合约记录的整数。
常见问题是:是否所有代币都采用18位精度?答案是否定的。该实现默认采用18位,但允许覆盖设置,不能把默认值当作所有资产的共同属性。金额核对必须同时明确原始数量和精度,避免重复换算或遗漏换算。