服务热线:15198019838 02868751582

钱包开发


 

 区块链钱包分类如图所示

 

on-chain

给一个钱包地址发送数字货币, 这笔交易在全网广播、被确认、被打包进区块。这是发生在链上的,被称为on-chain交易。on-chain钱包需要自己保管私钥。

 

off-chain

相对于on-chain交易是off-chain交易。通常,通过交易所进行的交易是off-chain的,本人并没有私钥。私钥在交易所,由交易所托管。所以交易所的钱包也是中心化的钱包。


冷钱包

冷即离线、断网,也就是说私钥存储的位置不能被网络所访问。例如纸钱包、脑钱包、硬件钱包等等。

 

热钱包

热即联网,也就是私钥存储在能被网络访问的位置。 例如存放在交易所的、在线钱包网站、手机App钱包都属于热钱包。通常而言,冷钱包更加安全,热钱包使用更加方便。



全节点钱包

除了保存私钥外,全节点钱包还有保存了所有区块的数据,最为著名的是bitcoin-core


轻钱包

它不必保存所有区块的数据,只保存跟自己相关的数据。基本可以实现去中心化。


中心化钱包

在交易所中的钱包,以及类似 OKLink 提供的保险柜服务。


钱包开发原理:

1. 私钥、公钥和地址产生的方法;

2. 理解如何使用API进行远程调用等;

3.最后就是钱包设计相关的助记词, keystore和密码的概念,它和区块链公钥、私钥和地址产生的方式思路一样,但是整个过程属于区块链钱包设计过程,不能与区块链的相关知识混淆。

一、私钥、公钥和地址产生的方式(以BTC为例):

1. 比特币私钥其实是使用SHA-256生成的32字节(256位)的随机数,有效私钥的范围则取决于比特币使用的secp256k1 椭圆曲线数字签名标准。

2. 在私钥的前面加上版本号,后面添加压缩标志和附加校验码,(所谓附加校验码,就是对私钥经过2次SHA-256运算,取两次哈希结果的前四字节),然后再对其进行base58编码,就可以得到我们常见的WIF(Wallet import Format)格式的私钥。

3. 私钥经过椭圆曲线乘法运算,可以得到公钥。公钥是椭圆曲线上的点,并具有x和y坐标。公钥有两种形式:压缩的与非压缩的。早期比特币均使用非压缩公钥,现在大部分客户端默认使用压缩公钥。从私钥推导出公钥、再从公钥推导出公钥哈希都是单向的,也就是采用不可逆算法。椭圆曲线算法

4. 公钥产生后,将公钥通过SHA256哈希算法处理得到32字节的哈希值;

5. 后对得到的哈希值通过RIPEMD-160算法来得到20字节的哈希值 ——Hash1605.把版本号[2]+Hash160组成的21字节数组进行双次SHA256哈希运算,得到的哈希值的头4个字节作为校验和,放置21字节数组的末尾。

6. 对组成25位数组进行base58编码,最后得到地址。


星翼网络过硬的服务品质快速跟进客户需求、终身免费解决系统故障、技术人员随时待命应急处理各类失误操作等;


灵活的系统扩展性:结合区块链技术以及技术应用,可以根据实际业务需求扩展上层应用功能,也可整合我公司交易所类、区块链应用类产品,打造专属区块链生态体系;


接口无缝对接:无论是第三方交易平台接口还是支付、短信、邮箱接口,都能轻松对接,接口层封装设计模式,可自由切换对接各类数据接口,灵活便捷,实施快速;


灵活强大的配置功能各类配置功能,无论是提醒类功能,还是模式切换配置功能,都可以灵活自由操作,随心配置,打造用户专属APP


丰富的实施经验:上千家平台实施经验,为您提供合理的团队建设建议。