2

プロジェクトで bitcoind を使用していますが、それをサーバーにデプロイすると、bitcoind の動作がおかしくなりました。このライブラリを使用して rpc https://github.com/jgarzik/python-bitcoinrpcを操作します。ローカル開発サーバーではすべて問題ありませんが、vps にデプロイするとデータが返されなくなります。データが空です。私はこのようないくつかのテストを行いました:

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 シェルからテストを試み、このコードを手動で入力しました。事実は開発サーバーで動作し、私は にアドレスを持っていますbtc_addressが、vpsbtc_addressでは空です! 私を助けてください。パーミッションのトラブルが原因で発生する可能性はありますか? とにかく、ビットコインは接続を受け入れ、認証例外を返しませんが、どのコマンドにも反応しません。

しかし、コンソールから使用する場合:

bitcoin-cli getnewaddress 

それは正常に動作し、アドレスを教えてくれます。

4

1 に答える 1

1

これはレポのバグでした。数か月前にローカルで修正したのですが、忘れていました。同じ問題がある場合は、手動で 146 行のlib/python2.7/site-packages/bitcoinrpc/authproxy.py削除を編集し、次のようにブロックから移動できます。else:return response['result']elif

もう 1 つの方法は、python-bitcoinrpc を削除することです。

pip uninstall python-bitcoinrpc

正しいバージョンを再インストールします。

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

彼らがすぐにレポで修正することを願っています。

于 2016-07-28T18:56:58.170 に答える