tpwallet钱包结构全解读:从密钥到插件的五层拆解

安全提醒:钱包类操作请先核对来源,不要向任何页面或个人泄露助记词、私钥和验证码。

我在做DApp开发了有五年时间了, 关于tpwallet这个框架, 我把它的对接工作也重复了好多遍了。它做的事情是把密钥管理和那种跟链进行交互的部分完全分开了, 然后用了五层结构来分别负责管安全、通信、状态还有渲染这些内容。

最底下的部分是关于助记词与私钥的生成和存储, 这一层是遵守BIP39标准的, 同时也支持硬件的隔离方式。再往上一层去的话, 是对RPC通信进行的封装工作, 这里面的作用是可以把类似eth_sendTransaction这样的链上调用操作给包裹起来。

tpwallet钱包结构_DApp开发 tpwallet框架 密钥管理

更上面的一层则是状态管理层,这一部分的主要职责是管理着余额和交易列表的信息, 它这个层面的状况会直接影响前端响应速度的快慢。

在最顶层的那两层位置, 是渲染组件和插件扩展层, 它们是让第三方的DApp通过标准的接口来挂接到钱包的能力的。在真实的项目工作场景里面, 通常会卡住整个项目进度的是插件层面的鉴权握手过程, 这通常不是发生在底层的密钥管理那块儿。