关于外部daemon主机及monero-wallet-cli RPC端口的Monero技术问询
针对你提出的两个问题,我整理了详细的解决方案:
1. 使用外部daemon主机时,能否使用localhost的JSON-RPC?
完全可以,但需要明确:这里的JSON-RPC服务是由你的monero-wallet-cli钱包本身提供,而非本地daemon(毕竟你用的是外部节点,本地没有运行daemon)。具体操作方式如下:
启动钱包时,除了指定外部daemon的地址,还要添加钱包RPC的绑定参数,示例命令:
monero-wallet-cli --daemon-host <外部节点地址:端口> --rpc-bind-ip 127.0.0.1 --rpc-port 18082
配置完成后,你就能通过http://localhost:18082调用钱包的JSON-RPC接口,所有请求会由钱包转发到外部daemon处理,同时钱包会维护本地的密钥、交易记录等核心数据。
如果需要让其他设备访问这个RPC服务,可以把--rpc-bind-ip改成0.0.0.0,并配合--rpc-access-control-origins设置允许的来源;仅本地使用的话,127.0.0.1的配置就足够安全。
2. monero-wallet-cli添加--rpc-bind-port参数后显示帮助,且无该参数
这个问题的核心是你混淆了monero-daemon和monero-wallet-cli的参数:
--rpc-bind-port是monero-daemon(节点程序)的专属参数,用来设置daemon的RPC端口;- 而monero-wallet-cli的RPC端口参数是
--rpc-port,并非--rpc-bind-port。
你可以运行monero-wallet-cli --help,找到"RPC options"部分,就能看到钱包相关的RPC参数说明,比如:
--rpc-port arg RPC server port
--rpc-bind-ip arg RPC server bind address (default: 127.0.0.1)
结合外部daemon的正确启动命令示例:
monero-wallet-cli --daemon-host <外部节点地址> --rpc-port 18082
如果启动后仍有问题,建议检查外部节点的端口是否正确(默认daemon端口为18081),以及钱包是否能正常连接到该节点。
内容的提问来源于stack exchange,提问作者DemonSlayer

