Esempio n. 1
0
 def test_InsightProvider(self):
     provider = InsightProvider("http://insight.bitpay.com/api/")
     self.check_provider_tx_for_tx_hash(lambda x: provider, ["BTC"])
     provider.get_blockchain_tip()
     h = provider.get_blockheader(BLOCK_1_HASH)
     assert h.previous_block_hash == BLOCK_0_HASH
     height = provider.get_block_height(BLOCK_1_HASH)
     assert height == 1
Esempio n. 2
0
 def test_InsightProvider(self):
     provider = InsightProvider("http://insight.bitpay.com/api/")
     self.check_provider_tx_for_tx_hash(lambda x: provider, ["BTC"])
     provider.get_blockchain_tip()
     h = provider.get_blockheader(BLOCK_1_HASH)
     assert h.previous_block_hash == BLOCK_0_HASH
     height = provider.get_block_height(BLOCK_1_HASH)
     assert height == 1
Esempio n. 3
0
        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

#Configure Ethereum mainnet connectors
Esempio n. 4
0
 def test_InsightProvider(self):
     self.check_provider_tx_for_tx_hash(
         lambda x: InsightProvider("http://insight.bitpay.com/"), ["BTC"])
Esempio n. 5
0
try:
    from urllib2 import HTTPError, urlopen
    from urllib import urlencode
except ImportError:
    from urllib.request import urlopen


class InsightProvider(InsightProvider):
    def get_address(self, address):
        URL = "%s/api/addr/%s" % (self.base_url, address)
        r = json.loads(urlopen(URL).read().decode("utf8"))
        return type('', (object, ), r)


explorer = InsightProvider('https://insight.bitpay.com')

config_filename = '.pyblocksign.ini'
config_path = os.path.join(os.environ['HOME'], config_filename)
config = None

salt = '#$%'
iv = 'This is an IV#$%'

fee = 1000


def password_to_key(password):
    return PBKDF2(str.encode(password), str.encode(salt))

        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,
                                                      Chain.mainnet.netcode)
provider_list.append(BlockrIOBroadcaster('https://btc.blockr.io/api/v1'))
provider_list.append(BlockExplorerBroadcaster('https://blockexplorer.com/api'))
provider_list.append(BlockrioProvider(Chain.mainnet.netcode))
provider_list.append(InsightProvider(netcode=Chain.mainnet.netcode))
connectors[Chain.mainnet.netcode] = provider_list

# configure testnet providers
xtn_provider_list = providers.providers_for_config_string(
    PYCOIN_XTN_PROVIDERS, Chain.testnet.netcode)
xtn_provider_list.append(
    InsightProvider(base_url='https://test-insight.bitpay.com',
                    netcode=Chain.testnet.netcode))
xtn_provider_list.append(BlockrIOBroadcaster('https://tbtc.blockr.io/api/v1'))
xtn_provider_list.append(
    BlockExplorerBroadcaster('https://testnet.blockexplorer.com/api'))
xtn_provider_list.append(BlockrioProvider(Chain.testnet.netcode))
connectors[Chain.testnet.netcode] = xtn_provider_list

Esempio n. 7
0
# 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


def get_providers_for_chain(chain, bitcoind=False):
    if bitcoind: