开发环境和工具

1. window 10 64
2. 比特核心钱包:bitcoin core 64
配置过程
1. 下载比特币核心钱包,下载链接https://bitcoin.org/en/download
2. 安装完不要运行。启动测试网络,这个需要下的数据比较少,大概10G。如图,第二个启动项
3. 启动后会弹出如图页面:

 选择数据存放的位置(正式环境需要100G,随着时间而增加),这个地址下面还需要使用,请记住。
4. 同步数据,如下图所示

 下边进度条消失就是同步完了。
5. 配置rpc。在数据存放位置新建一个文件名称是bitcoin.conf,内容如下
testnet=0
server=1
rpcuser=wang
rpcpassword=123456
rpctimeout=30
rpcport=18332
rpcconnect=127.0.0.1
testnet=0是测试网络,正式环境去掉这一行,并把rpcport=18332改为rpcport=8332
6. 代码使用了jsonrpc4j,maven依赖如下
<dependency>
<groupId>com.github.briandilley.jsonrpc4j</groupId>
<artifactId>jsonrpc4j</artifactId>
<version>1.1</version>
</dependency>
6.1. 简单公用类
public class ClientUtil {

    public static JsonRpcHttpClient getClient() {
JsonRpcHttpClient client = null;
try {
String cred = Base64.encodeBytes(("wang" + ":" +"123456").getBytes());
Map<String, String> headers = new HashMap<String, String>(1);
//身份认证
headers.put("Authorization", "Basic " + cred);
client = new JsonRpcHttpClient(new URL("http://127.0.0.1:18332"),headers);
} catch (MalformedURLException e) {
e.printStackTrace();
}
return client;
} public static Object result(String command, Object[] objects) {
JsonRpcHttpClient client = ClientUtil.getClient();
Object result = null;
if(client != null) {
try {
result = client.invoke(command, objects,Object.class);
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
return result;
}
}
6.2. 发送比特币
   @Test
public void sendfrom() {
String result = (String) ClientUtil.result("sendfrom", new Object[]{"","2MzFix1Fnndi1wAvg9B7dLfRgL25FuC4J7x","0.0001"});
System.out.println(result);
}
第二个参数是对方的地址,第三个参数是金额。
6.3. 生成一个地址,并监测对方是否发送
    /**
* 生成一个收款地址,等待接收
*/
@Test
public void newAddressAndReceived() {
String result = (String) ClientUtil.result("getnewaddress", new Object[]{""});
System.out.println(result); while (true) {
Double received = (Double) ClientUtil.result("getreceivedbyaddress", new Object[] {result});
if(received > 0) {
System.out.println(received);
break;
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
7. 免费领取测试网络比特币地址:https://testnet.coinfaucet.eu/en/
    api:https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
 

通过rpc访问比特币核心钱包的更多相关文章

  1. [翻译]QT core wallet manual 狗狗币核心钱包使用教程

    译注:比特币没赶上可以玩狗狗币啊,水电厂包不起可以用CPU挖啊.为了顺应时代潮流,了解一下区(fa)块(heng)链(cai)和加密货币技术,准备从研究狗狗币开始.网上找了一圈没有看到很好的入门级教程 ...

  2. dubbo入门学习(一)-----分布式基础理论、架构发展以及rpc、dubbo核心概念

    一.分布式基础理论 1.什么是分布式系统? <分布式系统原理与范型>定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distributed ...

  3. 最著名的著名的比特币BTC钱包地址-中本聪的钱包

    最著名的著名的比特币BTC钱包地址-中本聪的钱包1.比特币创始人中本聪 1PTFYUG6nCzRrByoRfGT5kefUNuZjNF84o这个地址还是比特币的创世地址,比特币从未移动过,其中的50币 ...

  4. 04.UTXO:未使用的交易输出,比特币核心概念之一

    在比特币系统上其实并不存在“账户”,而只有“地址”.只要你愿意,你就可以在比特币区块链上开设无限多个钱包地址,你拥有的比特币数量是你所有的钱包地址中比特币的总和.比特币系统并不会帮你把这些地址汇总起来 ...

  5. 比特币系列钱包的UTXO总结

    1.通过比特币钱包的WalletNotify配置来处理 本钱包内的交易信息的 推送.BlockNotify数据更多,不适合交易所的监听

  6. hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。这里包含我们使用到的组件:HDFS, YARN, Hbase, Hive, ZooKeeper:

    组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传输 HDFS DataNode 50075 ...

  7. [币严区块链]数字货币交易所之比特币(BTC)钱包对接 | 自建节点JSON-RPC访问

    BTC钱包对接流程 一.   部署BTC钱包节点 二.   分析BTC钱包的API 三.   通过JSON-RPC访问BTC钱包API 四.   部署测试 一.部署钱包节点 交易平台对接BTC之前,要 ...

  8. BTC钱包对接流程

    BTC钱包对接流程: 部署钱包节点 分析钱包的API 通过JSON-RPC访问钱包API 部署测试 1.部署钱包节点 虚拟币交易平台对接所有的虚拟币之前,都要在自己的服务器上部署一个钱包节点,首先要找 ...

  9. 比特币客户端Electrum使用介绍

    简介 比特币的客户端很多,为什么选择Electrum. 首先Electrum真的很轻量,安装马上可以用,不用下载几百G的区块链账本.我之前安装bitcoin核心客户端,这是个完整节点.下载账本都要好多 ...

随机推荐

  1. 磁盘的读写-想起了SGA PGA DBWR LGWR...

    衡量性能的几个指标的计算中我们可以看到一个15k转速的磁盘在随机读写访问的情况下IOPS竟然只有140左右,但在实际应用中我们却能看到很多标有5000IOPS甚至更高的存储系统,有这么大IOPS的存储 ...

  2. C#入门(面向对象概念)

    也许是看概念性的东西太多了,所以一看基本就明白,但实际并没有掌握,有待实操.反而是UML(统一建模语言)引起了我的兴趣,发现这东东很像建筑行业的图纸:有标准和约定,很方便专业人士看懂程序的架构和逻辑. ...

  3. Android单元测试与模拟测试详解

    测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...

  4. Mono 异步加载数据更新主线程

    主要是用 async和 await 调用 RunOnUiThread来更新. 调用函数: //异步加载数据开始 doInBackground (); //异步加载数据开始end protected a ...

  5. 北京易信软科信息技术有限公司-仓库管理系统V1.0

    北京易信软科您可信赖的北京软件研发服务商,公司团队有多年应用软件设计制作及开发经验,为各大企业提供软件设计.制作及维护服务,为用户提供可靠高效的应用服务平台 我们通过专业的项目实施流程,为您提供优质的 ...

  6. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  7. 解决在CentOS6.5下安装OpenStack(Icehouse版本 )出现的glance服务无法正常工作的问题

    最近一直在用Juno版本,因为项目需要,今天在虚拟机里安装了Icehouse版,其中glance组件在执行安装的过程后,出现启动失败的现象,幸好以前排查过此类错误,遂记录如下: 在官方文档(Iceho ...

  8. 在win7下将CapsLock按键变成esc

    我喜欢用vim来编辑,经常要按到esc,但是去按那个按键确实比较的远,而且CapsLock这个按键对我来说着实有些鸡肋,所以就想在win7上也能像ubuntu那样把capslock映射为esc,在网上 ...

  9. Shaders(读书笔记4 --- Real-Time rendering)

    1. vertex,pixel以及geometry shaders共享一个programming model,即common-shader core,在GPU架构中的unified shader可以和 ...

  10. Asp.net 未处理异常

    页面级捕获未处理异常 - Page 的 Error 事件 Protected Sub Page_Error(ByVal sender As Object, ByVal e As System.Even ...