【问题标题】:Access Bitcoin Daemon from Another Server从另一台服务器访问比特币守护进程
【发布时间】:2014-01-02 21:46:54
【问题描述】:

我已经构建了 Catcoind(比特币 / 项目的一个分支),我可以通过从 root 执行此操作来访问终端中的命令:

cd catcoin/src 
./catcoind -daemon

这将启动 Catcoind,打开端口,并允许我键入诸如“./catcoind getdifficulty”之类的命令,但我想从运行在另一台服务器上的 PHP JSON-RPC 客户端访问它们。我目前拥有的代码是:

<?php

require_once 'jsonRPCClient.php'; 

$catcoin = new jsonRPCClient('http://RPCUSER:RPCPASS@IP:PORT'); 

print_r($catcoin->getinfo()); 
echo $catcoin->getdifficulty();

我在 Ubuntu 上构建 Catcoind 的配置文件是:

server=1

rpcuser=USER

rpcpassword=PASS

rpcssl=0

rpcallowip=*

bind=IP:PORT

externalip=IP

proxy=IP:PORT

port=PORT

rpcconnect=IP

当我运行代码时,它说它无法打开流/连接被拒绝。 Catcoind 的配置位于 ~/.catcoin/catcoin.conf 位置。有任何想法吗?我知道这很令人困惑,但我确实已经完成了所有工作,只是允许外部 IP 访问 API。谢谢! :D

【问题讨论】:

    标签: php bind bitcoin bitcoind


    【解决方案1】:

    你不需要将所有这些东西都写在conf文件中,只需使用以下内容

    server=1
    daemon=1
    rpcuser=<user_namer>
    rpcpassword=<password>
    rpctimeout=30
    

    如果从远程主机连接,请添加以下行

    rpcallowip=<remote_ip_address>
    

    保存并退出 conf 文件并重新启动守护程序,首先将其停止 catecoind stop 然后 catcoind start

    【讨论】:

    • 我会调查的!谢谢。 :)
    • 我在使用rpcallowip时必须添加rpcbind=0.0.0.0:8332 但是请注意,不要在您的私人网络之外使用它,密码是在没有加密的情况下发送的。
    • @ObjSal 你只需要rpcbind=0.0.0.0
    【解决方案2】:

    是否允许外部 IP?如果不确保允许 IP 以便它可以调用 api。错误failed to open the stream / connection refused通常意味着ip和一切都正确但是服务器拒绝了连接。

    【讨论】:

    • 我认为我可以通过允许访问守护程序运行的端口来使其工作 - 我是否还需要以某种方式“转发”IP?这不就是‘绑定’的功能吗?
    • 服务器上的catcoind是向第二台服务器发送信息还是接收信息?
    • 它正在接收 RPC 请求并发送相应的 JSON 响应。
    猜你喜欢
    • 2019-07-23
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    相关资源
    最近更新 更多