VueBloghyhero6

关于比特币钱包的一些初始调研工作

2024-01-22 / 2024-01-22 / 1088次浏览

https://docs.unisat.io/dev/unisat-developer-service/unisat-wallet
这是钱包主要文档

首先明确,unisat 钱包和  ok 钱包无法使用自己的 indexer,也就是没法像小狐狸钱包那样更新RPC节点,到达使用不同链的不同RPC的目的,其次,
它的这个说法就是必须构造一套完整的生态。
这可能也就解释了,为什么那么多的 API 文档公开出来的都是 API 接口, 而且没有任何钱包调取方法,

那么这么来看前端的工作量放大了 2倍 至少, 而 三周的开发周期, 难。

反观其余成熟的上线网站, 用户唤起钱包 其实走的是转账操作,后面实际测试交易也是验证了,mint 操作是俩笔操作的事实,实际操作是用户像指定地址转账,对方收到资产后进行构建操作,反向将mint铭文打回用户地址,是一整套的服务脚本操作,对应的文档就是API开放接口,这点ok 和 unisat 均有对应的开发API

至于到unisat的架构里面,有个问题,是开发量的问题,它的文件夹归置分为:

它的架构被拆成了三类

background
content-script
ui

这三类,其中 UI 部分纯粹的 UI, content-script 归置为内容脚本,background 被称为浏览器后台进程,
它叫浏览器后台进程, 亦可以被称之为服务进程,可以监听 前台的服务挂载请求,
在钱包里面大量的归置代码被使用在这个地方,包括分属初始化转移铭文的一些方法。

而UI 的层所有请求被监听到 background 进行归类处理。

它的钱包代码又被归置出了 俩个包, 一个是 钱包整体项目代码,
而是 @unisat/wallet-sdk  增加了钱包专属sdk,

而这个 unisat 的 sdk 又再次引用了  这个btc 的 bitcoinjs-lib sdk
这个 btc 钱包的基础类库

bitcoinjs-lib - 一个用于比特币应用程序的JavaScript库,适用于Node.js和浏览器。

可以基本衡量 其整体的一个工程量。