Bitcoin Core无listtransactions方法的解决方案
问题现象
- 操作Bitcoin Core过程中触发报错提示:
Don't have method listtransactio - 完成Ubuntu环境比特币全节点部署后,尝试调用交易查询方法时提示方法不存在,无法正常使用相关功能
Bitcoin Core版本截图
listtransactions调用尝试截图
排查方向与解决方法
1. 先排查拼写错误
报错信息中提示的缺失方法为listtransactio,对比正确的RPC方法名listtransactions,末尾少了字母n,拼写错误会直接触发方法不存在报错,先修正调用的方法名重试。
2. 检查钱包功能是否开启
如果拼写确认无误仍报错,核心原因是节点未启用钱包模块:listtransactions是钱包专属RPC接口,Bitcoin Core 0.21.0及之后版本默认关闭钱包功能,非钱包模式下仅加载链上同步、区块查询类接口,不会加载任何钱包相关方法,按以下步骤修复:
- 停止当前运行的节点进程:
bitcoin-cli stop - 编辑节点默认配置文件(路径为
~/.bitcoin/bitcoin.conf),添加如下配置开启钱包:
disablewallet=0 wallet=default
- 重新启动bitcoind进程,节点启动完成后执行命令创建默认钱包:
bitcoin-cli createwallet "default"
注:如果之前已创建过钱包文件,将上述命令替换为bitcoin-cli loadwallet "你的钱包名"即可 - 验证接口可用性,执行调用命令:
bitcoin-cli listtransactions
正常情况下会返回钱包对应交易列表,不再弹出方法不存在报错。
3. 检查编译版本是否带钱包模块
如果上述配置修改后仍提示方法不存在,说明当前安装的Bitcoin Core在编译阶段未集成钱包模块,需要重新编译安装:
- 先安装钱包模块依赖:
sudo apt install libdb-dev libdb++-dev libboost-all-dev - 进入源码目录,执行配置命令开启钱包编译选项:
./configure --with-gui=no --with-wallet - 完成编译与安装:
make -j$(nproc) && sudo make install - 安装完成后按第2步的流程修改配置、启动节点、加载钱包即可正常使用
listtransactions接口。
内容的提问来源于stack exchange,提问作者maximuspraim
相关产品推荐
相关产品推荐

