2016-07-28 140 views
2

我在我的项目中使用bitcoind,当我将它部署在我的服务器上时bitcoind的工作很奇怪。我使用这个库来处理rpc https://github.com/jgarzik/python-bitcoinrpc。在本地开发服务器上一切都很好,但是当我将它部署到vps时,它会停止返回数据。数据是空的。我做了一些测试,像这样:bitcoinrpc调用什么都不会返回

bitcoin.conf file: 
server=1 
rpcuser=myuser 
rpcpassword=mypassword 
rpcconnect=127.0.0.1 
rpcport=8332 

一些view.py:

def btc_rpc_connect(config): 

    rpc_server_url = ("http://{user}:{password}@{host}:{port}").format(
     user=config.rpc_user, 
     password=config.rpc_pass, 
     host=config.rpc_host, 
     port=config.rpc_port 
    ) 
    rpc_conn = AuthServiceProxy(rpc_server_url) 
    return rpc_conn 

user = request.user 
# getting rpc settings from db 
config = ProjectSettings.objects.get(id=1) 
rpc_connection = btc_rpc_connect(config) 
btc_address = rpc_connection.getnewaddress(user.username) 

我还试图从Django的./manage.py外壳测试和手动输入此代码。事实是在dev服务器上工作,我有一个地址在btc_address,但在vps btc_address是空的!请帮帮我。这是否因为权限问题而发生?反正bitcoind接受连接并且不返回认证异常,但对任何命令没有反应。

但如果我用它从控制台:

bitcoin-cli getnewaddress 

它工作正常,并给我一个地址。

回答

1

Omg这是回购中的错误,我在几个月前在本地修复了它,并且忘记了这一点!如果你有同样的问题,你可以码的手动编辑lib/python2.7/site-packages/bitcoinrpc/authproxy.py 146线删除else:elif块搬出return response['result']喜欢在这里:https://github.com/jgarzik/python-bitcoinrpc/commit/8c0114bfbf7650d40a88b20d1e16ff79d768f3a9

另一种方法是删除蟒蛇-bitcoinrpc:

pip uninstall python-bitcoinrpc 

,并重新安装正确版本:

pip install git+https://github.com/jgarzik/python-bitcoinrpc.git 

希望他们能尽快将其修复回购。

相关问题