J'essaie de me connecter vérifier le montant d'une adresse BTC (avec la clé privée). J'ai l'adresse et la clé dans un fichier. Quand j'écris la var directement, c'est le script python c'est le travail, mais quand j'essaye de faire la même chose avec la var du fichier, ça ne marche pas. J'ai vérifié mon var après les avoir pris du fichier (avec print) et j'ai aussi vérifié leur type qui est String.I essaye aussi de str() mes deux var mais ça ne change rien. J'utilise python 3.4 sur windows et l'API de blockchain.info. Voici la doc git: https://github.com/blockchain/api-v1-client-python/blob/master/docs/wallet.mdMa var ne fonctionne pas avec Blockchain API
sortieFichier = open(fichierSortie, 'a')
fd = open(fichierClef, 'r')
n = 0
miniCompt=0
aTrouver=": "
for line in fd:
n += 1
miniCompt+= 1
#extract the adress from the file
if(miniCompt==1):
adressBTC=str(line)
tronc = adressBTC.find(aTrouver)
adressBTC =adressBTC[len(aTrouver)+tronc:]
if(miniCompt==2):
# exctract the key
clefBTC=str(line)
tronc = clefBTC.find(aTrouver)
clefBTC =str(clefBTC[len(aTrouver)+tronc:])
print(clefBTC) # = 5J6jgMj4FhcT9y1###########################
print(adressBTC) # = 1CBXtLZdv4jN9LGF5Dbs##############
print(isinstance(clefBTC,int)) # return true
# connect with the function to check the wallet
wallet = Wallet(clefBTC, '')
addr = wallet.get_address(adressBTC, confirmations = 2) # Ligne 37 HERE ERROR
amount=addr.balance
amount=amount/100000000
print(amount)
if(amount>0):
sortieFichier.write(adressBTC)
sortieFichier.write(clefBTC)
sortieFichier.write(amount)
miniCompt=0
fd.close()
et voici l'erreur:
True
Traceback (most recent call last):
File "C:\Python34\Lib\site-packages\blockchain\monScript.py", line 37, in <mod
ule>
addr = wallet.get_address(adressBTC, confirmation
s = 2)
File "C:\Python34\lib\site-packages\blockchain\wallet.py", line 133, in get_ad
dress
response = util.call_api("merchant/{0}/address_balance".format(self.identifi
er), params)
File "C:\Python34\lib\site-packages\blockchain\util.py", line 23, in call_api
response = urlopen(BASE_URL + resource, payload, timeout = TIMEOUT).read()
File "C:\Python34\lib\urllib\request.py", line 153, in urlopen
return opener.open(url, data, timeout)
File "C:\Python34\lib\urllib\request.py", line 453, in open
req = meth(req)
File "C:\Python34\lib\urllib\request.py", line 1097, in do_request_
raise URLError('no host given')
urllib.error.URLError: <urlopen error no host given>
Il est très étrange parce que si j'écris la clé/adresse au lieu du var, il est un travail:
wallet = Wallet('5J6jgMj4FhcT9y1###########################', '')
addr = wallet.get_address('1CBXtLZdv4jN9LGF5Dbs##############', confirmations = 2)
Je m'excuse pour mon mauvais anglais et je suis toujours ouvert pour d'autres explications