lbry-sdk/torba/coin/bitcoincash.py

54 lines
1.5 KiB
Python
Raw Normal View History

2018-06-08 05:47:46 +02:00
__node_daemon__ = 'bitcoind'
__node_cli__ = 'bitcoin-cli'
2018-06-12 16:02:04 +02:00
__node_bin__ = 'bitcoin-abc-0.17.2/bin'
2018-06-08 05:47:46 +02:00
__node_url__ = (
'https://download.bitcoinabc.org/0.17.2/linux/bitcoin-abc-0.17.2-x86_64-linux-gnu.tar.gz'
)
2018-06-14 02:57:57 +02:00
__electrumx__ = 'electrumx.lib.coins.BitcoinCashRegtest'
2018-06-08 05:47:46 +02:00
from six import int2byte
from binascii import unhexlify
2018-06-14 02:57:57 +02:00
from torba.baseledger import BaseLedger
from torba.baseheader import BaseHeaders
from torba.basetransaction import BaseTransaction
2018-06-08 05:47:46 +02:00
class Transaction(BaseTransaction):
2018-06-14 02:57:57 +02:00
def signature_hash_type(self, hash_type):
return hash_type | 0x40
2018-06-08 05:47:46 +02:00
2018-06-14 02:57:57 +02:00
class MainNetLedger(BaseLedger):
2018-06-08 05:47:46 +02:00
name = 'BitcoinCash'
symbol = 'BCH'
2018-06-14 02:57:57 +02:00
network_name = 'mainnet'
2018-06-08 05:47:46 +02:00
transaction_class = Transaction
pubkey_address_prefix = int2byte(0x00)
script_address_prefix = int2byte(0x05)
extended_public_key_prefix = unhexlify('0488b21e')
extended_private_key_prefix = unhexlify('0488ade4')
default_fee_per_byte = 50
2018-06-14 02:57:57 +02:00
class UnverifiedHeaders(BaseHeaders):
verify_bits_to_target = False
class RegTestLedger(MainNetLedger):
headers_class = UnverifiedHeaders
network_name = 'regtest'
2018-06-08 05:47:46 +02:00
pubkey_address_prefix = int2byte(111)
script_address_prefix = int2byte(196)
extended_public_key_prefix = unhexlify('043587cf')
extended_private_key_prefix = unhexlify('04358394')
2018-06-14 02:57:57 +02:00
max_target = 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
genesis_hash = '0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206'
genesis_bits = 0x207fffff
target_timespan = 1