我正在尝试使用 node.js javascript 验证狗狗币地址。
但我仍在努力理解算法。
我当前的 node.js 版本是v0.10.22
据我所知(如果我错了,请纠正我)它的狗狗币地址与比特币地址没有什么不同。
所以我尝试执行以下操作
- Base58解码地址
- 计算解码地址的一个sha256的返回结果的sha256(两次sha256)
- 将 sha256 结果的前 4 个字节与解码地址的后 4 个字节进行比较(我认为我在这里犯了一个错误)..
当我尝试将其写入 javascript 时,base58 解码结果是正确的,当我尝试从解码值创建缓冲区时,它会抛出错误,指出该值不正确
var decodedHex = new Buffer(decodedBase58Result,'hex')
上面会抛出一个错误,如果我这样做decodedBase58Result.toString()
会字符串化脚本继续但不返回预期结果的数字。
那么,有没有办法解决这个问题?不依赖第三方api调用
更新: 我研究了很多,我找到了一个客户端验证器,我用一小段代码制作了一个 npm 包
它在不依赖任何第三方 api/服务调用的情况下验证地址。