2016-07-28 5 views
2

내 프로젝트에서 비트 코인을 사용하고 있으며 서버에 배포 할 때 bitcoind가 이상하게 작동합니다. 이 lib를 rpc https://github.com/jgarzik/python-bitcoinrpc과 함께 사용합니다. 로컬 dev에 서버에 다 괜찮아요하지만 내가 vps에 반환 데이터를 중지 배포 할 수 있습니다. 데이터가 비어 있습니다.bitcoinrpc calls returns returns

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

일부 view.py : 나는 또한 장고의 ./manage.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) 

이 같은 몇 가지 테스트를했다. 사실은 dev 서버에서 작동하며 주소는 btc_address입니다. 그러나 vps에서 btc_address은 비어 있습니다! 도와주세요. 허가 문제로 인해 일어날 수 있습니까? 어쨌든 bitcoind는 연결을 받아들이고 인증 예외를 반환하지 않지만 어떤 명령에도 반응하지 않습니다.

하지만 콘솔에서 사용할 경우 : 잘 작동하고 나에게 주소를 알려

bitcoin-cli getnewaddress 

.

답변

1

Omg는 repo에서 버그 였고 몇 달 전에 로컬로 고정하고 잊어 버렸습니다. 같은 문제가있는 경우 mannually lib/python2.7/site-packages/bitcoinrpc/authproxy.py 146 줄에 else:을 삭제하고 여기처럼 elif 블록에서 return response['result']을 이동 편집 할 수 있습니다

pip uninstall python-bitcoinrpc 

그리고 올바른 다시 설치 https://github.com/jgarzik/python-bitcoinrpc/commit/8c0114bfbf7650d40a88b20d1e16ff79d768f3a9

또 다른 방법은 삭제 파이썬 bitcoinrpc입니다 버전 :

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

호프 그들은 ​​레포에서 곧 고칠 것입니다.