介绍比特币钱包和以太坊钱包的开发过程,包含钱包的主要功能:
创建钱包,钱包余额,导出钱包,钱包转账等。
Demo地址
定义
可以把区块链钱包当做是一个银行账户系统,它管理着你的在区块链上的资产,并且可以实现查看余额,转账,收账功,查看交易记录功能,而钱包应用就相当于银行的客户端,来实现钱包的具体功能。你的私钥就相当于银行账户的密码,你的地址就相当于银行的银行卡号。
钱包分类
根据管理私钥的方式,大致分为,冷钱包,热钱包,软钱包,硬件钱包
on-chain
给一个钱包地址发送数字货币, 这笔交易在全网广播、被确认、被打包进区块。这是发生在链上的,被称为on-chain交易。on-chain钱包需要自己保管私钥。
off-chain
相对于on-chain交易是off-chain交易。通常,通过交易所进行的交易是off-chain的,本人并没有私钥。私钥在交易所,由交易所托管。所以交易所的钱包也是中心化的钱包。
冷钱包
冷钱包就是,你把你的私钥,写在纸上,或者打印成二维码在纸上,或者记在你脑袋里,这类钱包一般就是为了安全保存私钥的,他不具备钱包的其它任何功能
热钱包
热钱包就是,不是自己保管自己的私钥,而是钱包的开发者把私钥保存在服务器端,你所有的钱包操作都要经过服务器操作,这种钱包,等于是把自己的资产完全交给了别人,所以是最不安全的钱包,很少有人会用这种钱包
软钱包
软钱包就是私钥保存在客户端本地,而不是保存在服务端,用户可以管理自己的私钥,相对于热钱包安全很多。软钱包又分为“全节点钱包”和“轻钱包”。
全节点钱
包一般是钱包官方提供的钱包软件,它会把节点数据全部同步到本地,所以会花费很长时间同步数据,并且会占用很大的硬盘存储空间,所以对于个人用户来说,使用起来还是比较繁琐的,也就是说不适合个人用户使用
轻钱包
是指不同步节点,转账使用离线签名,然后经过服务端节点广播出去,它的私钥也是保存的客户端本地的,用户可以自己管理,并且可以在手机这种移动端设备使用,所以现在最流行的就是这种“软钱包”,接下来的一系列文章也基本都是关于“轻钱包”开发的
硬件钱包
硬件钱包,是指带有简单嵌入式系统的硬件设备,通过USB链接电脑,可以在硬件设备上进行创建私钥和地址的操作,并且离线签名也是硬件操作的,硬件管理着你的私钥。这是目前最安全的钱包,但是价格比较贵一些,市面上比较流行的硬件钱包大概为:TREZOR,Ledger,Keepkey,库神等,感兴趣的可以网上搜一下
钱包中私钥作用:
1、生成公钥,然后由公钥生成地址(类似于微信的收款二维码)
2、签名,确保交易的正确性(类似支付密码)
区块链网络的信息都存储在节点上,每个节点都是有全网的转账信息,所以要篡改的话信息的话要在短时间内篡改全网半数以上的节点的信息,理论上是非常安全的
生成私钥
那么私钥是怎么生成的呢,其实它就是一个 256 位的二进制随机数,随机的目的是保证不重复,随机的方式当然就有很多了,比如你可以抛 256 次硬币,正面记 1、反面记 0。
而我们的计算机的实现呢,是通过密码学安全随机出一段字符串,然后进行 SHA256 哈希算法就可以产生私钥了。
当然这只是原始的私钥,我们不同的区块链网络还需要经过不同格式化才能产生对应区块链网络的私钥。
区块链开发交易平台|区块链开发公司|虚拟币平台开发|区块链技术公司|数字货币研发