Я пишу небольшую программу для Bitcoin, как я учусь Python3 и мне нужна функция, чтобы вернуть несколько Bitcoin адреса Баланс и Fiat баланс, я думал, что это может пригодиться кому-то или, по крайней мере, я хотел бы получить обратную связь о том, как я мог улучшить код, чтобы проверить это меньше строк / лучше ошибки для некоторых из вас больше опыта Python Devs там. Вам нужно будет установить Python Modules urllib3 свидетельств и сертификатов
Во всяком случае здесь это.
котировка
Поддерживаемые Валюта ARS, AUD, BRL, CAD, CHF, CZK, DKK, EUR, GBP, HKD, ILS, INR, MXN, NOK, NZD, PLN, RUB, SEK, SGD, THB, USD, ZAR
Применение:
питон GetBalance.py <валюта> ...
Применение:
питон GetBalance.py <валюта>
Код:
#! / USR / бен / python3
#
# Bitcoin GetBalance
#
# Поддерживаемые Валюта ARS, AUD, BRL, CAD, CHF, CZK, DKK, EUR, GBP, HKD, ILS, INR, MXN, NOK, NZD, PLN, RUB, SEK, SGD, THB, USD, ZAR
#
# Применение:
# Питон GetBalance.py <валюта> ...
#
импорт argparse, urllib3, JSON, certifi
парсер = argparse.ArgumentParser (описание = 'Получить Баланс Bitcoin адресов.)
parser.add_argument ( 'Валюта', nargs = 1, поможет 'Валюта' =)
parser.add_argument ( 'BitcoinAddresses', metavar = 'BitcoinAddress', nargs = '+',
помощь = «а Bitcoin адрес»)
арг = parser.parse_args ()
Защиту GetBalance ():
для BitcoinAddr в args.BitcoinAddresses:
blockchain = urllib3.PoolManager ()
REQ = blockchain.request ( 'GET', 'http://blockchain.info/q/addressbalance/' + BitcoinAddr)
SatoshiConvert = INT (req.data) / 100000000
если FiatValue () 'Error: No Such валюты' ==:
(Формат 'нет такой валюты {}'. (Args.Currency [0])) печати
ломать
еще:
FiatConvert = FiatValue () * SatoshiConvert
Печать ( '{} - {} ({:} {}). Формат (BitcoinAddr, SatoshiConvert, круглые (FiatConvert, 2), args.Currency [0]))
Защиту FiatValue ():
fiatvalues = urllib3.PoolManager (
cert_reqs = 'CERT_REQUIRED',
ca_certs = certifi.where (),
)
REQ = fiatvalues.request ( 'GET', 'https://localbitcoins.com/bitcoinaverage/ticker-all-currencies')
jsondata = json.loads (req.data.decode ( 'UTF-8'))
пытаться:
вернуться поплавок (jsondata [args.Currency [0]] [ 'ставки'] [ 'последний'])
Кроме:
возвращение «Ошибка: Нет такой валюты»
GetBalance ()
#
# Bitcoin GetBalance
#
# Поддерживаемые Валюта ARS, AUD, BRL, CAD, CHF, CZK, DKK, EUR, GBP, HKD, ILS, INR, MXN, NOK, NZD, PLN, RUB, SEK, SGD, THB, USD, ZAR
#
# Применение:
# Питон GetBalance.py <валюта>
#
импорт argparse, urllib3, JSON, certifi
парсер = argparse.ArgumentParser (описание = 'Получить Баланс Bitcoin адресов.)
parser.add_argument ( 'Валюта', nargs = 1, поможет 'Валюта' =)
parser.add_argument ( 'BitcoinAddresses', metavar = 'BitcoinAddress', nargs = '+',
помощь = «а Bitcoin адрес»)
арг = parser.parse_args ()
Защиту GetBalance ():
для BitcoinAddr в args.BitcoinAddresses:
blockchain = urllib3.PoolManager ()
REQ = blockchain.request ( 'GET', 'http://blockchain.info/q/addressbalance/' + BitcoinAddr)
SatoshiConvert = INT (req.data) / 100000000
если FiatValue () 'Error: No Such валюты' ==:
(Формат 'нет такой валюты {}'. (Args.Currency [0])) печати
ломать
еще:
FiatConvert = FiatValue () * SatoshiConvert
Печать ( '{} - {} ({:} {}). Формат (BitcoinAddr, SatoshiConvert, круглые (FiatConvert, 2), args.Currency [0]))
Защиту FiatValue ():
fiatvalues = urllib3.PoolManager (
cert_reqs = 'CERT_REQUIRED',
ca_certs = certifi.where (),
)
REQ = fiatvalues.request ( 'GET', 'https://localbitcoins.com/bitcoinaverage/ticker-all-currencies')
jsondata = json.loads (req.data.decode ( 'UTF-8'))
пытаться:
вернуться поплавок (jsondata [args.Currency [0]] [ 'ставки'] [ 'последний'])
Кроме:
возвращение «Ошибка: Нет такой валюты»
GetBalance ()
Выход для 3 случайных адресов
котировка
C: \ Users \ mrflibblehat \ Desktop \ Python>питон GetBalance.py USD 3MkwFfGNQDve7vz1z6gUDVxk
uQpcSV3Mz8 15qwThKcv55zeJLxd8AXmK3TCgHbW8SXrQ 1QACD9ZHnBSJVWsyE6wrfBm7GvU7QCc5KQ
3MkwFfGNQDve7vz1z6gUDVxkuQpcSV3Mz8 - 4299,52149361 (1,747,841.48 USD)
15qwThKcv55zeJLxd8AXmK3TCgHbW8SXrQ - +83,55649333 (33,967.39 USD)
1QACD9ZHnBSJVWsyE6wrfBm7GvU7QCc5KQ - 1,21749614 (494,94 USD)
uQpcSV3Mz8 15qwThKcv55zeJLxd8AXmK3TCgHbW8SXrQ 1QACD9ZHnBSJVWsyE6wrfBm7GvU7QCc5KQ
3MkwFfGNQDve7vz1z6gUDVxkuQpcSV3Mz8 - 4299,52149361 (1,747,841.48 USD)
15qwThKcv55zeJLxd8AXmK3TCgHbW8SXrQ - +83,55649333 (33,967.39 USD)
1QACD9ZHnBSJVWsyE6wrfBm7GvU7QCc5KQ - 1,21749614 (494,94 USD)