我从事钱包类产品的开发工作现在已经有了五年的时光, 在这漫长的过程中, 我被他人问及频率最高的问题就在于, 区块链钱包的源代码究竟是从什么地方获取来的。

这一件事情其实并没有大家想象之中那样简单轻松, 它牵连甚广, 将公链协议环节、私钥安全管理环节以及交易签名验证环节等一整条链路全部串联了起来, 这绝对不是一个仅仅通过搜索某个代码仓库地址就能够直接运行起来的简单东西。

区块区块链钱包源码到底哪里能拿到 想做钱包的开发者看这篇

区块区块链钱包源码哪来的

目前能使用的源代码, 基本存在三条路径,第一条是公链基金会提供的参考实现, 比如 go-ethereum 或者比特币的核心节点程序, 第二条是在 GitHub 平台上公开的开源项目代码, 第三条则是商业技术团队对外出售的授权源码。

选择商业授权这种方式是最省心的, 不过其价格跨度很大, 从几万元到几十万元不等。通常情况下, 这种授权方式还会附带支持二次开发的服务, 并提供合规文件。

我想起来, 在2022年的那个时间点上, 我曾经拿到过一套源码, 那是号称被叫做“全套”的版本, 但是后来拆开看了一下, 可以发现核心签名模块所调用的是第三方API, 私钥并没有在本地进行处理, 看着像是源码, 实际上它是属于壳子的范畴。

区块区块链钱包源码值不值得自研

当你只是做一些内部使用的工具或者是教学演示级别的项目, 那么拿去修改一下现有的开源代码就已经足够了。你只要能够在短时间内把助记词是怎么生成的、BIP39标准下的派生过程是怎样的、以及交易数据是如何进行序列化的这些知识点完全弄清楚, 两三周的时间就足够让功能跑通了。

但是, 如果你们的产品是直接面向C端普通用户, 并且涉及到了多种加密货币币种的操作, 或者需要用到外部硬件冷钱包来进行签名验证, 那么核心部分的模块必须由团队自行从头编写。

因为关于合规性审计的要求以及MPC多方安全计算签名技术, 目前市面上能找到的开源项目, 绝大多数都达不到可以在真实生产环境中部署使用的级别。

后来有一个项目团队, 他们由五个人组成, 为了完成对签名引擎这一层、地址派生这一层以及交易构建这三层全部重写的任务, 耗费了四个月的时间。

在系统上线之后, 还顺利地通过了前后两轮安全审计的步骤。这个过程中所花费的时间确实非常折磨人, 但是关于私钥不出端这一重要承诺而言, 那些花钱购买来的开源源代码是根本没办法提供的。

这块区块链钱包的源码, 它并不是通过那种寻找的方式得来的, 而是通过一点一点积累的这种办法搞出来的, 得把协议规范这一部分、密码学库这一部分还有前端框架这一部分全都给它拼凑到一块儿去, 然后再按照实际业务的需求进行裁剪和切割, 这样弄出来的才是真正属于你自己个人的那一份代码。