火币网交易平台走势图|区块链钱包开发之BCH钱包地址生成与扫块充值监听
以BTC为代表的数字货币诞生十一年间,加密货币行业迅猛发展,据coinmarketcap平台统计,截至2020年9月25日,在全球范围内已有共计7,179种加密数字货币,全球加密数字资产总市值已达到3344亿美元。
?

Bitcoin Cash由于其交易快速、手续费用低等优势,近年来愈来愈受到市场关注,但目前市场上对该币种支持的数字钱包项目并不多,势必会出现对BCH钱包的开发研究,今天就和大家聊一聊区块链钱包开发之如何进行BCH钱包地址生成与扫块充值监控。
?
初识Bitcoin Cash(BCH)
?
比特现金(BCH)全称为Bitcoin Cash,属于BTC的分叉币,它是一种基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的加密货货币。
?
Bitcoin Cash(BCH)有哪些优势呢?
?

快速:在几秒钟内完成交易。在几分钟内得到确认。
可靠:一个没有拥塞的网络;
简单:使用便捷、没有麻烦;
低费用:全球寄钱给便士;
稳定:一种经过验证的有价值的支付系统;
安全:世界上强大的区块链技术。
?
如何生成BCH钱包地址?
?
此处能够依赖的项目地址:https://github.com/bitcoincash-wallet/bitcoinj?分支选择 addsingedinputs
?
首先,建立起Maven工程,在pom.xml中导入以下依赖:
?
?????
?????
?????
?

?
其次,任意新建一个类(含有static main函数),比如:
class Test{
public static void main(String[] args){
?????// 获取网络参数
NetworkParameters params?= MainNetParams.get();
???????// 新建bch.wallet钱包文件(该文件存储私钥)
???????final File walletFile = new File("bch.wallet");
?
???????// 该段代码每次都用新建钱包文件的方式创建钱包,首次运行可用这种方式生成bch.wallet文件
???????Wallet wallet = new Wallet(walletFile);
?
???// 以下代码用于已经创建过bch.wallet,读取钱包文件使用
???????//try {
???????//???wallet = Wallet.loadFromFile(walletFile);
???????//} catch (UnreadableWalletException e) {
???????//???e.printStackTrace();
???????//???return MessageResult.error(500,"error:" + e.getMessage());
???????//}
???????// 新建密钥对
???????ECKey key = new ECKey();
???????// 通过网络参数获取地址
???????Address address = key.toAddress(params);
?
?????// 打印钱包地址
System.out.println("生成的钱包地址:" + address.toBase58());
???????
// 将密钥对导入钱包文件
???????wallet.importKey(key);
?
???????try {
// 保存秘钥到钱包文件
???????????wallet.saveToFile(walletFile);
???????} catch (IOException e) {
???????????e.printStackTrace();
???????}
}
}
?
如何进行BCH扫块监听充值?
?
因为无需自建节点,假如存在多地址,则有必要检查是否有充值,可以采取扫块的方式,只要扫到某收账地址属于我们,即可发起充值提醒,或者将其纳入数据库中的用户余额表。
?
BCH扫块一般是利用区块链浏览器获取,市场上有诸多区块链浏览器可供选择,开发者可以选择适合自己的,在本演示中使用的是https://bch.btc.com/,API文档是:https://bch.btc.com/api-doc。
?
例如开发者能够通过API接口:https://bch-chain.api.btc.com/v3/block/latest/tx,来获取最新BCH区块里包括的交易:
?

?
此处是使用Chrome调试工具得到的json格式数据,其中可见outputs -> addresses里面即是到账的地址。
?
详细编码演示案例中就不过多延伸,感兴趣的利用HttpUtli发起请求,获取json数据,然后解析json数据即可。
?
针对BCH钱包开发技术门槛高、开发耗时长、高昂的费用等一系列问题,且单链钱包不利于业务发展,致使很多交易所、商城、游戏平台不会单独去开发一套钱包系统了,会选择直接接入优盾钱包,优盾钱包这个企业级数字资产管理系统不仅支持BTC、ETH、EOS、XRP、BCH等30+主链,以及全部ERC20系列Token等。并且在不断增加,支持商户自主上Token,开放API快捷接入,实现平台用户注册地址生成、用户充值到账回调、用户提现一键审核通过、资产安全存储管理等。
?
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

太壹科技



