我在我的項目中使用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
它工作正常,並給我一個地址。