1、首先在本地安装BTC(LTC)钱包,安装包下载地址。

2、在数据文件夹中新建bitcoin.conf(litecoin.conf),默认数据文件夹位置在 C:\Users\Administrator.PC-20170606QNRN\AppData\Roaming\BitCoin

3、打开新建的配置文件,输入以下内容

rpcuser=userrpc
rpcpassword=userpassword
rpcallowip=127.0.0.1
rpcport=61315
server=1

4、打开钱包应用程序,通过cmd命令:netstat -ano|findstr "61315"

由此可见此端口已打开。

5、新建JAVA工程,创建两个类:CoinUtils.java,Constants.java

添加MAVEN依赖

    <dependency>  <groupId>com.github.briandilley.jsonrpc4j</groupId>  <artifactId>jsonrpc4j</artifactId>  <version>1.1</version>  </dependency>

6、代码如下

package com.ant.wallet;public class Constants {public static String RPC_USER = "userrpc";public static String RPC_PASSWORD = "userpassword";public static String RPC_ALLOWIP = "127.0.0.1";public static String RPC_PORT = "61315";
}
package com.ant.wallet;import java.net.URL;
import java.util.HashMap;
import java.util.Map;import com.googlecode.jsonrpc4j.Base64;
import com.googlecode.jsonrpc4j.JsonRpcHttpClient;public class CoinUtils {private static CoinUtils instance;private static void init() throws Throwable {if(null == instance){instance = new CoinUtils();}}private JsonRpcHttpClient client;public CoinUtils() throws Throwable{// 身份认证String cred = Base64.encodeBytes((Constants.RPC_USER + ":" + Constants.RPC_PASSWORD).getBytes());Map<String, String> headers = new HashMap<String, String>(1);headers.put("Authorization", "Basic " + cred);client = new JsonRpcHttpClient(new URL("http://"+Constants.RPC_ALLOWIP+":"+Constants.RPC_PORT), headers);}public static CoinUtils getInstance() throws Throwable {init();return instance;}/*** 验证地址是否存在* @param address* @return* @throws Throwable*/public String validateaddress(String address)throws Throwable{return  (String) client.invoke("validateaddress", new Object[] {address}, Object.class).toString();}/*** 如果钱包加密需要临时解锁钱包* @param password* @param time* @return* @throws Throwable*/public String walletpassphase(String password,int time)throws Throwable{return  (String) client.invoke("walletpassphase", new Object[] {password,time}, Object.class).toString();}/*** 转账到制定的账户中* @param address* @param amount* @return* @throws Throwable*/public String sendtoaddress(String address,double amount)throws Throwable{return  (String) client.invoke("sendtoaddress", new Object[] {address,amount}, Object.class).toString();}/*** 查询账户下的交易记录* @param account* @param count* @param offset* @return* @throws Throwable*/public String listtransactions(String account, int count ,int offset )throws Throwable{return  (String) client.invoke("listtransactions", new Object[] {account,count,offset}, Object.class).toString();}/*** 获取地址下未花费的币量* @param account* @param count* @param offset* @return* @throws Throwable*/public String listunspent( int minconf ,int maxconf ,String address)throws Throwable{String[] addresss= new String[]{address};return  (String) client.invoke("listunspent", new Object[] {minconf,maxconf,addresss}, Object.class).toString();}/*** 生成新的接收地址* @return* @throws Throwable*/public String getNewaddress() throws Throwable{return  (String) client.invoke("getnewaddress", new Object[] {}, Object.class).toString();}/*** 获取钱包信息* @return* @throws Throwable*/public String getInfo() throws Throwable{return  client.invoke("getinfo", new Object[] {}, Object.class).toString();}}

这样就实现了使用java代码与钱包进行通信。

以上列举了几个常用的方法,其他方法详见:这里

java使用JSON-RPC进行BTC、LTC钱包开发相关推荐

  1. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  2. Jmeter之Beanshell使用(二)Java处理JSON块

    [环境] ①Jmeter版本:3.2,JDK:1.8 ②前置条件:将json.jar包置于..\apache-jmeter-3.2\lib\下,并将该jar包添加到测试计划的Library中:否则会报 ...

  3. java与json,java与json

    1.json的基本语法 1.表示一个对象 {"name":'"zhangsan","age":22} {"name":& ...

  4. Java - Jackson JSON Java Parser API

    文章目录 概述 依赖 Jackson JSON示例 基础数据 JSON转换为Java对象 Jackson JSON –将JSON转换为Map 概述 Jackson JSON Java Parser非常 ...

  5. java json太长_修复Long类型太长,而Java序列化JSON丢失精度问题的方法

    Java序列化JSON时long型数值,会出现精度丢失的问题. 原因: java中得long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值). 解决办法一: 使用 ...

  6. Java之JSON数据

    特别注意:使用JSON前需要导包 操作步骤地址:http://blog.csdn.net/baidu_37107022/article/details/70876993 1.定义 JSON(JavaS ...

  7. Java中JSON字符串与java对象的互换实例详解

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...

  8. java的json解析工具_json文件解析工具类(java)

    附上java解析json文件内容的工具类 1.工具类 import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import o ...

  9. 【Java】Java实现 JSON 的组装和解析

    Java 中 JSON 的使用 类库选择 Java中并没有内置JSON的解析,因此使用JSON需要借助第三方类库. 下面是几个常用的 JSON 解析类库: Gson: 谷歌开发的 JSON 库,功能十 ...

最新文章

  1. 一键让二次元老婆微笑,还能把猫脸变成狗脸,这篇CVPR 论文真有趣
  2. magento中调用图片的方法
  3. mysql 主机 %_MySQL 开启远程链接(localhost 以外的主机)
  4. 骨骼捏脸功能的实现方法
  5. [转]Java中Set的深入研究
  6. DataFormatString格式化字符串的总结
  7. python函数拟合编程_Python应用实现双指数函数及拟合代码实例
  8. mysql 按月和年累加_广西柳州市市场监管局公布市2020年11月(第一批)电梯按需维保试点名单...
  9. oracle无法分区,oracle已存在的表添加新分区的方法
  10. shell if语句特殊用法(高级用法),工具安装判断
  11. 矩池云上安装AlphaFold教程
  12. python基础教程3下载-Python基础教程第3版中国PDF电子书免费下载
  13. Oracle CRS/ASM/RAC版本兼容对应表
  14. (转载)C/C++:sizeof('a')的值为什么不一样?
  15. 基于Jsp的简单论坛(BBS)的设计与实现(附代码)
  16. leaflet中文文档
  17. 51单片机学习笔记(2)——51单片机简介
  18. 中国农业大学计算机研究生专业课,2020年中国农业大学计算机科学与技术考研经验分享...
  19. 如何使用python批量压缩图片_使用python脚本批量压缩图片大小
  20. 如何修改、缩小截图图片大小,压缩图片。

热门文章

  1. 自己建网站时要注意哪些细节
  2. md 生成目录 码云_DuangDuangDuang!码云项目的 Readme.md 特殊技能
  3. cad隐藏图层命令快捷键_Auto CAD如何快速隐藏图层,快捷键是什么?
  4. 墨羽卿画第二章第5节:另一个世界,腊月廿四
  5. LeetCode:数组刷题(17道经典题目)
  6. 风光互补——三段式充电
  7. hdu-1052 Tian Ji -- The Horse Racing
  8. 【Vue教程】01:入门前的概述:关于VUE那些事儿
  9. 化工原理计算机辅助设计,化工原理课程设计总结与体会
  10. css3中-moz、-ms、-webkit、-o 各是什么意思