2016-07-28 102 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 

希望他們能儘快將其修復回購。