我在我的项目中使用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
它工作正常,并给我一个地址。