attempt_number) time.sleep(BROADCAST_RETRY_INTERVAL) logging.error('Failed broadcasting through all providers') logging.error(last_exception, exc_info=True) raise BroadcastError(last_exception) PYCOIN_BTC_PROVIDERS = "blockchain.info blockexplorer.com blockcypher.com chain.so" PYCOIN_XTN_PROVIDERS = "blockexplorer.com" # chain.so # initialize connectors connectors = {} # configure mainnet providers provider_list = providers.providers_for_config_string( PYCOIN_BTC_PROVIDERS, helpers.to_pycoin_chain(Chain.bitcoin_mainnet)) provider_list.append(BlockrIOBroadcaster('https://btc.blockr.io/api/v1')) provider_list.append(BlockExplorerBroadcaster('https://blockexplorer.com/api')) provider_list.append( InsightProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_mainnet))) provider_list.append( ChainSoProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_mainnet))) connectors[Chain.bitcoin_mainnet] = provider_list # configure testnet providers xtn_provider_list = providers.providers_for_config_string( PYCOIN_XTN_PROVIDERS, helpers.to_pycoin_chain(Chain.bitcoin_testnet)) xtn_provider_list.append( ChainSoProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_testnet))) xtn_provider_list.append(BlockrIOBroadcaster('https://tbtc.blockr.io/api/v1')) xtn_provider_list.append(
def get_providers_for_chain(chain, bitcoind=False): if bitcoind: return [BitcoindConnector(helpers.to_pycoin_chain(chain))] else: return connectors[chain]
def __init__(self, bitcoin_chain): self.bitcoin_chain = bitcoin_chain self.allowable_wif_prefixes = wif_prefix_for_netcode( to_pycoin_chain(bitcoin_chain))
def __init__(self, bitcoin_chain): self.bitcoin_chain = bitcoin_chain self.allowable_wif_prefixes = wif_prefix_for_netcode(to_pycoin_chain(bitcoin_chain))
attempt_number) time.sleep(BROADCAST_RETRY_INTERVAL) logging.error('Failed broadcasting through all providers') logging.error(last_exception, exc_info=True) raise BroadcastError(last_exception) PYCOIN_BTC_PROVIDERS = "blockchain.info blockexplorer.com blockcypher.com chain.so" PYCOIN_XTN_PROVIDERS = "blockexplorer.com" # chain.so # initialize connectors connectors = {} # configure mainnet providers provider_list = providers.providers_for_config_string(PYCOIN_BTC_PROVIDERS, helpers.to_pycoin_chain(Chain.bitcoin_mainnet)) provider_list.append(BlockrIOBroadcaster('https://btc.blockr.io/api/v1')) provider_list.append(BlockExplorerBroadcaster('https://blockexplorer.com/api')) provider_list.append(InsightProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_mainnet))) provider_list.append(ChainSoProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_mainnet))) connectors[Chain.bitcoin_mainnet] = provider_list # configure testnet providers xtn_provider_list = providers.providers_for_config_string(PYCOIN_XTN_PROVIDERS, helpers.to_pycoin_chain(Chain.bitcoin_testnet)) xtn_provider_list.append(ChainSoProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_testnet))) xtn_provider_list.append(BlockrIOBroadcaster('https://tbtc.blockr.io/api/v1')) xtn_provider_list.append(BlockExplorerBroadcaster('https://testnet.blockexplorer.com/api')) connectors[Chain.bitcoin_testnet] = xtn_provider_list
raise BroadcastError(last_exception) # configure api tokens config = cert_issuer.config.CONFIG blockcypher_token = None if config is None else config.blockcypher_api_token PYCOIN_BTC_PROVIDERS = "blockchain.info chain.so" # blockcypher.com PYCOIN_XTN_PROVIDERS = "" # chain.so # initialize connectors connectors = {} # configure mainnet providers provider_list = providers.providers_for_config_string(PYCOIN_BTC_PROVIDERS, helpers.to_pycoin_chain(Chain.bitcoin_mainnet)) provider_list.append(BlockcypherProvider('https://api.blockcypher.com/v1/btc/main', blockcypher_token)) provider_list.append(InsightProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_mainnet))) provider_list.append(ChainSoProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_mainnet))) provider_list.append(BlockstreamBroadcaster('https://blockstream.info/api')) connectors[Chain.bitcoin_mainnet] = provider_list # configure testnet providers xtn_provider_list = providers.providers_for_config_string(PYCOIN_XTN_PROVIDERS, helpers.to_pycoin_chain(Chain.bitcoin_testnet)) xtn_provider_list.append(ChainSoProvider(netcode=helpers.to_pycoin_chain(Chain.bitcoin_testnet))) xtn_provider_list.append(BlockcypherProvider('https://api.blockcypher.com/v1/btc/test3', blockcypher_token)) xtn_provider_list.append(BlockstreamBroadcaster('https://blockstream.info/testnet/api')) connectors[Chain.bitcoin_testnet] = xtn_provider_list