App 1 Icon
imToken: BTC & ETH
下载
App 2 Icon
imToken: BTC & ETH
下载
App 3 Icon
imToken: BTC & ETH
下载

比特币、以太坊、Solana的编码到底有啥区别?搞混了地址就废了

imtoken钱包官网 imtoken免费下载 10

比特币、以太坊、Solana的编码到底有啥区别?搞混了地址就废了

做交易所底层开发这几年,地址编码的坑我踩过不少。不同币的编码方式差异看似微小,一旦搞混,转错地址就是真金白银的损失。

比特币经典地址用Base58编码,前面加0x00版本字节数字货币编码对比比特币、以太坊、Solana的编码到底有啥区别?搞混了地址就废了,生成1或3开头的字母数字串。P2SH地址版本字节是5,所以以3开头。手动输错一个字符,Base58校验大概率能拦住,但复制粘贴时截断了就危险。

以太坊走完全不同的路子。地址是20字节公钥哈希加0x前缀,全小写或EIP-55混合大写校验。和比特币Base58完全不兼容。开发中没做好链标识判断,把以太坊地址当比特币处理,签名格式都不对,交易直接废。

比特币2017年之后推了Bech32,就是bc1开头那串。看着像Base58,实际编码逻辑和校验算法完全不同。我见过生产环境因为没更新编码库,批量地址生成直接报错,排查花了两天,根因就是把Bech32当Base58解码了。

Solana用Base58但加了链前缀,地址格式看着和比特币很像,实际编码逻辑有差异。跨多链产品里最头疼的就是这个——用户输一串Base58,你得判断他转的是比特币还是Solana。我现在的做法是前端强制选链再填地址,后端再做编码校验,双保险。

标签: 数字货币编码对比

上一篇三部门查数字货币,持有者到底该慌不慌

下一篇当前分类已是最新一篇

抱歉,评论功能暂时关闭!