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控制台线调用一下方法

Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path). BitcoinJSONRPCClient异常、及其他异常的更多相关文章

  1. Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/../thinkphp/start.php) is not within the allowed path(s):

    Warning: require(): open_basedir restriction in effect. File(/www/wwwroot//../thinkphp/start.php) is ...

  2. input file 获取不到Request.Files 解决办法

    <input type="file" name="xxxxxxx"/>必须有“name”属性,否则在后台代码中用Request.Files是取不到值 ...

  3. jquery file upload 后台收到的文件名中文乱码, filename中文乱码

    在jQuery File Upload.js文件里,在以下这个js中有个成员叫做 _initXHRData, 是一个function, 在这个function的最后部分有一个if-else分支,如下:

  4. File.Copy的时候Could not find a part of the path

    https://developercommunity.visualstudio.com/content/problem/378265/filecopy-did-not-throw-the-correc ...

  5. 图片上传安全性问题,根据ContentType (MIME) 判断其实不准确、不安全

    图片上传常用的类型判断方法有这么几种---截取扩展名.获取文件ContentType (MIME) .读取byte来判断(这个什么叫法来着?).前两种都有安全问题.容易被上传不安全的文件,如木马什么的 ...

  6. Gradle构建Java Web应用:Servlet依赖与Tomcat插件(转)

    Gradle的官方tutorial介绍了构建Java Web应用的基本方法.不过在使用Servlet做上传的时候会碰到问题.这里分享下如何通过Servlet上传文件,以及如何使用Gradle来构建相应 ...

  7. electron的艰难安装之旅

    最近对前端开发很感兴趣,抽空研究了下前段的开发工具,发现比较流行的是sublime,atom,vscode等, 由于一直以来从事.net开发所以对vscode很感兴趣,在vscode的安装配置过程偶然 ...

  8. FORM级别和数据库级别的Trace

     metalink上的文章较全的,中文的可参考我的博客EBS开发技术之trace http://blog.csdn.net/cai_xingyun/article/details/17250971 ...

  9. Jetty 开发指南:嵌入式开发示例

    Jetty具有嵌入各种应用程序的丰富历史. 在本节中,我们将向您介绍我们的git存储库中的embedded-jetty-examples项目下的一些简单示例. 重要:生成此文档时,将直接从我们的git ...

随机推荐

  1. 打包APK出现org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:lintVitalRelease'.

    AndroidS Studio打包APK时出现问题:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':a ...

  2. 一、VIP课程:互联网工程专题 05-快速掌握Jenkins原理与核心功能

    第五课:快速掌握jenkins核心功能.docx 2.164 (2019-02) and newer: Java 8 or Java 11 一.jenkins 概述与环境配置 知识点: 关于可持续化集 ...

  3. Express ~ 获取表单 get 和 post 提交方式传送参数的对比

      一,获取 get 提交的参数   var id = req.query.id || ''   二,获取 post 提交的参数 var name = req.body.name || ''

  4. BZOJ:1927: [Sdoi2010]星际竞速

    题解:最小费用流+二分图模型: 左边表示出这个点,右边表示入这个点: #include<iostream> #include<cstdio> #include<cstri ...

  5. maven的理解和使用

    一.maven是什么? maven是项目管理工具 二.maven为什么要用? 在做开发的时候常常会用到外部的工具包(jar包),这就需要你一个一个的去他们的官网下工具包,然后在项目里依赖他们,比较的麻 ...

  6. centos7-DNS(主从)

    一.安装DNS. 本机ip:192.168.1.3 [root@localhost ~]# yum -y install bind bind-utlis 二.编辑配置文件. [root@localho ...

  7. 好文推荐:终于有人把Elasticsearch原理讲透了

    专注于Java领域优质技术,欢迎关注 作者:channingbreeze 转自公号:互联网侦察 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. ...

  8. 一天一个设计模式——Prototype 原型模式

    一.模式说明 看了比较多的资料,对原型模式写的比较复杂,个人的理解就是模型复制,根据现有的类来直接创建新的类,而不是调用类的构造函数. 那为什么不直接调用new方法来创建类的实例呢,主要一个原因是如果 ...

  9. CountDownLatch和CyclicBarrier和Semaphore最通俗形象解释

    应该还有好多同学对这三个的区别比较模糊,网络上其他文章说的也比较专业化.所以我在这里举个例子说明这三个的区别. 我们假定有一场百米比赛,比赛包括十个运动员和一个裁判,每个运动员和每个裁判都是一个线程, ...

  10. HTML5新标签使用及CSS选择器(伪类)

    这些标签能够让搜索引擎更直接的解析页面内容. <header></header>语义:文档或者页面的头部 <nav></nav>语义:导航这两者不是组合 ...