关于对接数字货币钱包

18-03-28 17:53 字数 843 阅读 3738 已编辑

随着比特币(BTC)和区块链的火热,数字货币引起了大家的关注,下面分享一点小心得。

首先说说数字货币,BTC、ETH、ETC、NEO等都是数字货币的简称,有兴趣可以看看非小号。每个币都有钱包,用户可以到对应币的官网或者github上下载安装包,安装包可能提供多平台(windows、linux、macos)。

然后介绍下钱包,在网络正常的情况下,只要打开钱包,它就会自动同步其他节点的数据,这里的数据相当于账本,记录了区块中所有的交易详情,每产生一笔新交易就会被打包到区块中,然后广播给其他节点,判断一笔交易是否成功的依据是区块确认数达到了预设的值,确认数等于当前区块高度减去交易打包时的区块高度。举个例子:现在产生了一笔新交易,所处区块高度100,预设完成确认数6,当区块高度达到106,则说明交易成功。

那么如何获取区块高度?这里引出钱包的另一个重点。钱包会提供基于RPC协议的api,api文档一般到该币的github上找。不同币种钱包api是不同的,而且文档的阅读性有差距,不过文档都是英文的,虽然浏览器有翻译功能,但是容易扭曲本意。想要调用api,首先要开启RPC服务,至于如何开启,请查找文档,常见的BTC系(如QTUM,使用BTC的源码开发),BTC可以在它的数据目录(默认目录:C:\Users\Administrator\AppData\Roaming\Bitcoin)下新建bitcoin.conf,配置项有server,rpcuser,rpcpassword等等,详情见文档,配置文件命名一般是"币名.conf"。ETH系(如QASH,ETH代币,建立在智能合约之上),如果你安装的钱包是go-ethereum,在github上搜索go-ethereum,wiki有详细的RPC介绍。关于RPC有一点重要的建议:调试的时候可以允许其他IP请求,正式环境请禁止其他IP请求,因为已经出现过大量被盗币的情况,解决方案之一是在钱包服务器上写一套api供外部调用。

未完待续。。。

1人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论