Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path). BitcoinJSONRPCClient异常、及其他异常
2024-09-06 17:28:32
1、异常信息 Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path)
Exception in thread "main" wf.bitcoin.javabitcoindrpcclient.BitcoinRPCException: RPC Query Failed (method: getbalance, params: [], response code: 500 responseMessage Internal Server Error, response: {"result":null,"error":{"code":-19,"message":"Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path)."},"id":"1"} at wf.bitcoin.javabitcoindrpcclient.BitcoinJSONRPCClient.query(BitcoinJSONRPCClient.java:236)
at wf.bitcoin.javabitcoindrpcclient.BitcoinJSONRPCClient.getBalance(BitcoinJSONRPCClient.java:294)
at com.lpz.exchange.biz.TestBitcoinCore.javaBitcoin(TestBitcoinCore.java:46)
at com.lpz.exchange.biz.TestBitcoinCore.main(TestBitcoinCore.java:74) Process finished with exit code 1
原因:由于bitcoin core 客户端里面创建了多个钱包,java连接的时候未指明使用某个钱包而产生的
解决: URL url = new URL("http://user:password@127.0.0.1:18332"); 在连接后面加上钱包名称
Eq: 我有个钱包名叫:lpz
那么连接就因该是: URL url = new URL("http://user:password@127.0.0.1:18332/wallet/lpz"); 在连接后面加上钱包名称
钱包里面有个默认的钱包,连接是就不加名称 URL url = new URL("http://user:password@127.0.0.1:18332/wallet/");
2、异常信息 Error: Please enter the wallet passphrase with walletpassphrase first.
Exception in thread "main" wf.bitcoin.javabitcoindrpcclient.BitcoinRPCException: RPC Query Failed (method: dumpprivkey, params: [2N1y1DGtXUbajM5SWyo9yRgiWAqQcPUyVEA], response code: 500 responseMessage Internal Server Error, response: {"result":null,"error":{"code":-13,"message":"Error: Please enter the wallet passphrase with walletpassphrase first."},"id":"1"} at wf.bitcoin.javabitcoindrpcclient.BitcoinJSONRPCClient.query(BitcoinJSONRPCClient.java:236)
at com.lpz.exchange.biz.TestBitcoinCore.javaBitcoin(TestBitcoinCore.java:56)
at com.lpz.exchange.biz.TestBitcoinCore.main(TestBitcoinCore.java:74) Process finished with exit code 1
原因:调用dumppivkey (获取私钥) 的时候需要先输入钱包密码,没有输入密码就调用此方法抛出的异常
解决:在调用获取私钥方法之前输入钱包密码:bitcoinClient.walletPassPhrase("你的钱包密码",超时时间);
Eq:
bitcoinClient.walletPassPhrase("lpz",60);
String addressPrivateKey=bitcoinClient.query("dumpprivkey","2N1y1DGtXUbajM5SWyo9yRgiWAqQcPUyVEA").toString();
logger.info("获取地址私钥:"+ addressPrivateKey);
还有其它的方法也是需要输入密码的,主要是看它提示什么,或者你在bitcoin core控制台线调用一下方法
最新文章
- css小常识
- [codevs1029]遍历问题
- poj2115-C Looooops(扩展欧几里德算法)
- 好用的调色软件 ColorSchemer Studio
- bdyyservice.exe 系统错误
- ProcMon启用调试符
- redis 界面软件使用
- 笔记:1.css样式,最前边加 @charset ";utf-8";;是为什么2.js判断各种浏览器的方法
- MFC Tips(一) 在程序内部 保存读取配置
- ios开发学习--歌词处理--解析lrc文件
- Angular JS 学习笔记(二)
- .Net程序员学用Oracle系列(15):DUAL、ROWID、NULL
- C++入门篇一
- hdu-3689 Infinite monkey theorem 概率dp+kmp
- PyCharm设置仿sublime配色__Py版本2018.3.5
- echarts - 条形图grid设置距离绘图区域的距离
- Confluence 6 Cron 表达式
- Iterable接口
- [Leet code 2]Two Sum
- phpstorm添加laravle语法支持
热门文章
- Java对象序列化输入输出
- apache flink源码挖坑 (未完待续)
- Java中的String介绍
- junit基础学习之-参数初始化(5)
- (六--一)scrapy框架简介和基础应用
- vue学习(十二)vue全家桶 Vue-router&;Vuex
- UVA - 1606 Amphiphilic Carbon Molecules(两亲性分子)(扫描法)
- 几道简单的线段树入门题 POJ3264&;&;POJ3468&;&;POJ2777
- ng-options用法详解
- java: 集合collection