使用比特币RPC客户端创建比特币java应用程序

你可以使用RPC客户端在Java中创建有扩展性的比特币应用程序。在这篇博客中,我们将使用 JavaBitcoindRpcClient

在我们开始编码之前,请确保在本地系统中运行比特币核心。如果你没有比特币核心,你可以从 此链接
安装它,或者如果你使用的是ubuntu,你可以关注 此博客
。如果你不是ubuntu用户,我仍然建议你去看看这个博客步骤能做些参考。安装比特币核心后,以testnet模式运行它,并允许它下载块并与区块链同步

创建一个maven项目并将以下依赖项添加到pom.xml文件中。

<dependency>
        <groupId>wf.bitcoin</groupId>
        <artifactId>JavaBitcoindRpcClient</artifactId>
        <version>0.9.13</version>
</dependency>

如果你浏览了上述博客,则会看到 bitcoin.conf
文件。在我的本地系统中,我使用以下配置配置了比特币核心:

server=1
testnet=1
rpcuser=ajit
rpcpassword=oodles

基于上述配置,我们将配置我们的Java应用程序并与本地运行的比特币核心连接,以访问执行特定方法。让代码从比特币核心获取信息。

String user = "ajit";
String password = "oodles";
String host = "127.0.0.1";
String port = "18332";

try {
    URL url = new URL("http://" + user + ':' + password + "@" + host + ":" + port + "/");

    BitcoinJSONRPCClient bitcoinClient = new BitcoinJSONRPCClient(url);
    System.out.println(bitcoinClient.getInfo());
} catch (MalformedURLException e) {
    e.printStackTrace();
}

这里18332是与比特币核心连接的默认端口

要为应用程序用户创建帐户,我们将使用 getNewAddress(String account)
方法为我们的用户创建地址。

String email = "test@gmail.com";
String address = bitcoinClient.getNewAddress(email);

要检查用户的余额,我们可以使用 getBalance(String account)
方法:

String email = "test@gmail.com";
Double balance = bitcoinClient.getBalance(email);

要列出余额帐户,我们可以使用 listAccounts()
方法:

Map<String,Number> accounts = bitcoinClient.listAccounts();

要从一个帐户到地址进行交易调用 sendFrom(fromAccount,toBitcoinAddress,amount)
方法:

String email = "test@gmail.com";
String txHash = bitcoinClient.sendFrom(email, "msQFtzLGf2iyAhDjrTEnnGqPa8Bc3HYVBX", 0.1);

同样,你可以访问比特币核心API调用中列出的任何方法。正如你所看到的,使用 JavaBitcoindRpcClient
库并创建比特币应用程序非常容易。

建议你浏览我们汇智网的各种编程语言的区块链教程和区块链技术博客,深入了解区块链,比特币,加密货币,以太坊,和智能合约。

  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.jsmongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。

汇智网原创翻译,转载请标明出处。这里是 原文

原文 

http://blog.hubwiz.com/2018/10/08/bitcoin-java-rpc-client/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 使用比特币RPC客户端创建比特币java应用程序

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址