当前位置:首页 > 知识 >

火币网交易平台BCH钱包地址生成与扫块充值监听

以BTC为代表的数字货币诞生十一年间,加密货币行业迅猛发展。据coinmarketcap平台统计,截至2020年9月25日,在全球范围内已有共计7,179种加密数字货币,全球加密数字资产总市值已达到3344亿美元。

BitcoinCash由于其交易快速、手续费用低等优势,近年来愈来愈受到市场关注。然而,市场上对该币种支持的数字钱包项目并不多,这就需要对BCH钱包的开发进行研究。今天就和大家聊一聊区块链钱包开发之如何进行BCH钱包地址生成与扫块充值监控。

初识BitcoinCash(BCH)

比特现金(BCH)全称为BitcoinCash,属于BTC的分叉币。它是一种基于去中心化、采用点对点网络与共识主动性、开放源代码、以区块链在几分钟内得到确认。 - 可靠:一个没有拥塞的网络。 - 简单:使用便捷、没有麻烦。 - 低费用:全球寄钱给便士。 - 稳定:一种经过验证的有价值的支付系统。 - 安全:世界上强大的区块链技术。

如何生成BCH钱包地址?

可以使用以下地址依赖的项目:https://github.com/bitcoincash-wallet/bitcoinj?分支选择addsingedinputs

首先,在Maven工程中导入以下依赖:

cash.bitcoinj bitcoinj-core 0.14.5.2

其次,任意新建一个类(包含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里面即是到账的地址。

详细编码演示案例中就不过多延伸,感兴趣的可以利用HttpUtil发起请求,获取json数据,然后解析json数据即可。

针对BCH钱包开发技术门槛高、开发耗时长、高昂的费用等一系列问题,且单链钱包不利于业务发展,很多交易所、商城、游戏平台选择直接接入优盾钱包。优盾钱包是一个企业级数字资产管理系统,不仅支持BTC、ETH、EOS、XRP、BCH等30+主链,还支持全部ERC20系列Token等。并且不断增加,支持商户自主上Token,开放API快捷接入,实现平台用户注册地址生成、用户充值到账回调、用户提现一键审核通过、资产安全存储管理等。

猜你喜欢

关注我们

微信二维码

微信