def initialize(self): cwd = os.getcwd() p = configargparse.getArgumentParser( default_config_files=[os.path.join(cwd, 'conf.ini')]) self.add_arguments(p) args, _ = p.parse_known_args() # overwrite with enum args.chain = Chain.parse_from_chain(args.chain) # ensure it's a supported chain if args.chain.blockchain_type != BlockchainType.bitcoin and \ args.chain.blockchain_type != BlockchainType.ethereum and \ args.chain.blockchain_type != BlockchainType.mock: raise UnknownChainError(args.chain.name) logging.info('This run will try to issue on the %s chain', args.chain.name) if args.chain.blockchain_type == BlockchainType.bitcoin: bitcoin_chain_for_python_bitcoinlib = args.chain if args.chain == Chain.bitcoin_regtest: bitcoin_chain_for_python_bitcoinlib = Chain.bitcoin_regtest bitcoin.SelectParams( chain_to_bitcoin_network(bitcoin_chain_for_python_bitcoinlib)) self.config = args return self
def to_pycoin_chain(chain): if chain == Chain.bitcoin_regtest or chain == Chain.bitcoin_testnet: return 'XTN' elif chain == Chain.bitcoin_mainnet: return 'BTC' else: raise UnknownChainError(chain.name)
def get_config(): configure_logger() #configure_logger 함수 호출 p = configargparse.getArgumentParser(default_config_files=[ os.path.join(PATH, 'conf.ini'), '/etc/cert-issuer/conf.ini' ]) add_arguments(p) parsed_config, _ = p.parse_known_args() if not parsed_config.safe_mode: logging.warning( 'Your app is configured to skip the wifi check when the USB is plugged in. Read the ' 'documentation to ensure this is what you want, since this is less secure' ) # overwrite with enum parsed_config.chain = Chain.parse_from_chain(parsed_config.chain) # ensure it's a supported chain if parsed_config.chain.blockchain_type != BlockchainType.bitcoin and \ parsed_config.chain.blockchain_type != BlockchainType.ethereum and \ parsed_config.chain.blockchain_type != BlockchainType.mock: raise UnknownChainError(parsed_config.chain.name) logging.info('This run will try to issue on the %s chain', parsed_config.chain.name) if parsed_config.chain.blockchain_type == BlockchainType.bitcoin: bitcoin_chain_for_python_bitcoinlib = parsed_config.chain if parsed_config.chain == Chain.bitcoin_regtest: bitcoin_chain_for_python_bitcoinlib = Chain.bitcoin_regtest bitcoin.SelectParams( chain_to_bitcoin_network(bitcoin_chain_for_python_bitcoinlib)) return parsed_config
def get_config(base_config): # configure_logger() # p = configargparse.getArgumentParser(default_config_files=[os.path.join(PATH, 'conf.ini'), # 'D:\PythonCode\cert-issuer\conf_me.ini']) # add_arguments(p) # parsed_config, _ = p.parse_known_args() # print("parsed_config", parsed_config) if not base_config["safe_mode"]: logging.warning( 'Your app is configured to skip the wifi check when the USB is plugged in. Read the ' 'documentation to ensure this is what you want, since this is less secure' ) # overwrite with enum base_config["chain"] = Chain.parse_from_chain(base_config["chain"]) # ensure it's a supported chain if base_config["chain"].blockchain_type != BlockchainType.bitcoin and \ base_config["chain"].blockchain_type != BlockchainType.ethereum and \ base_config["chain"].blockchain_type != BlockchainType.mock: raise UnknownChainError(base_config["chain"].name) logging.info('This run will try to issue on the %s chain', base_config["chain"].name) if base_config["chain"].blockchain_type == BlockchainType.bitcoin: bitcoin_chain_for_python_bitcoinlib = base_config["chain"] if base_config["chain"] == Chain.bitcoin_regtest: bitcoin_chain_for_python_bitcoinlib = Chain.bitcoin_regtest bitcoin.SelectParams( chain_to_bitcoin_network(bitcoin_chain_for_python_bitcoinlib)) global CONFIG CONFIG = base_config return base_config
def get_tx_lookup_prefix_for_chain(chain): if chain == Chain.testnet: return 'https://tbtc.blockr.io/tx/info/' elif chain == Chain.mainnet: return 'https://blockchain.info/tx/' else: raise UnknownChainError( 'unsupported chain (%s) requested with blockcypher collector. Currently only testnet and mainnet are supported' % chain)
def get_tx_lookup_chain(chain, txid): if chain == Chain.bitcoin_testnet: return 'https://live.blockcypher.com/btc-testnet/tx/' + txid elif chain == Chain.bitcoin_mainnet: return 'https://blockchain.info/tx/' + txid elif chain == Chain.bitcoin_regtest or chain == Chain.mockchain: return 'This has not been issued on a blockchain and is for testing only' else: raise UnknownChainError( 'unsupported chain (%s) requested with blockcypher collector. Currently only testnet and mainnet are supported' % chain)
def initialize_signer(app_config): path_to_secret = os.path.join(app_config.usb_name, app_config.key_file) if app_config.chain.blockchain_type == BlockchainType.ethereum: signer = EthereumSigner(ethereum_chain=app_config.chain) elif app_config.chain == Chain.mockchain: signer = None else: raise UnknownChainError(app_config.chain) secret_manager = FileSecretManager(signer=signer, path_to_secret=path_to_secret, safe_mode=app_config.safe_mode, issuing_address=app_config.issuing_address) return secret_manager
def initialize_signer(app_config): path_to_secret = os.path.join(app_config.usb_name, app_config.private_key_file) if app_config.chain.blockchain_type == BlockchainType.bitcoin: signer = BitcoinSigner(bitcoin_chain=app_config.chain) elif app_config.chain == Chain.mockchain: signer = None else: raise UnknownChainError(app_config.chain) secret_manager = FileSecretManager(signer=signer, path_to_secret=path_to_secret, safe_mode=app_config.safe_mode, issuing_address=app_config.public_key) return secret_manager
def initialize_signer(app_config): # path_to_secret = os.path.join(app_config["usb_name"], app_config["private_key"]) if app_config["chain"].blockchain_type == BlockchainType.bitcoin: signer = BitcoinSigner(bitcoin_chain=app_config["chain"]) elif app_config["chain"] == Chain.mockchain: signer = None else: raise UnknownChainError(app_config["chain"]) secret_manager = FileSecretManager( signer=signer, secret_key=app_config["secret_key"], safe_mode=app_config["safe_mode"], issuing_address=app_config["issuing_address"]) return secret_manager
def get_config(path=None): if not path: config_file_path = os.path.join(PATH, 'conf.ini') else: config_file_path = path configargparse.initArgumentParser(name='issue_conf', default_config_files=[config_file_path]) p = configargparse.get_argument_parser('issue_conf') add_arguments(p) parsed_config, _ = p.parse_known_args() if not parsed_config.safe_mode: logging.warning( 'Your app is configured to skip the wifi check when the USB is plugged in. Read the ' 'documentation to ensure this is what you want, since this is less secure' ) # overwrite with enum parsed_config.chain = Chain.parse_from_chain(parsed_config.chain) # Set the fee to the recommended value (only enabled if the current chain is mainnet) if parsed_config.chain.blockchain_type == BlockchainType.bitcoin: parsed_config.tx_fee = 0 parsed_config.satoshi_per_byte = requests.get( 'https://bitcoinfees.earn.com/api/v1/fees/recommended').json( )['fastestFee'] # final fee = max(tx_fee, satoshi_per_byte * size) # ensure it's a supported chain if parsed_config.chain.blockchain_type != BlockchainType.bitcoin and \ parsed_config.chain.blockchain_type != BlockchainType.ethereum and \ parsed_config.chain.blockchain_type != BlockchainType.mock: raise UnknownChainError(parsed_config.chain.name) logging.info('This run will try to issue on the %s chain', parsed_config.chain.name) if parsed_config.chain.blockchain_type == BlockchainType.bitcoin: bitcoin_chain_for_python_bitcoinlib = parsed_config.chain if parsed_config.chain == Chain.bitcoin_regtest: bitcoin_chain_for_python_bitcoinlib = Chain.bitcoin_regtest bitcoin.SelectParams( chain_to_bitcoin_network(bitcoin_chain_for_python_bitcoinlib)) return parsed_config
def tx_to_blink(chain, tx_id): blink = 'blink:' if chain == Chain.bitcoin_regtest: blink += 'btc:regtest:' elif chain == Chain.bitcoin_testnet: blink += 'btc:testnet:' elif chain == Chain.bitcoin_mainnet: blink += 'btc:mainnet:' elif chain == Chain.ethereum_bloxberg: blink += 'eth:bloxberg:' elif chain == Chain.ethereum_mainnet: blink += 'eth:mainnet:' elif chain == Chain.mockchain: blink += 'mocknet:' else: raise UnknownChainError(chain.name) return blink + tx_id