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-11-03 23:50:34 +01:00
|
|
|
__spvserver__ = 'torba.server.coins.BitcoinCashRegtest'
|
2018-06-08 05:47:46 +02:00
|
|
|
|
|
|
|
from binascii import unhexlify
|
2018-11-04 06:55:50 +01:00
|
|
|
from torba.client.baseledger import BaseLedger
|
|
|
|
from torba.client.basetransaction import BaseTransaction
|
2018-08-16 06:56:46 +02:00
|
|
|
from .bitcoinsegwit import MainHeaders, UnverifiedHeaders
|
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
|
|
|
|
2018-08-16 06:56:46 +02:00
|
|
|
headers_class = MainHeaders
|
2018-06-08 05:47:46 +02:00
|
|
|
transaction_class = Transaction
|
|
|
|
|
2018-07-29 02:52:54 +02:00
|
|
|
pubkey_address_prefix = bytes((0,))
|
|
|
|
script_address_prefix = bytes((5,))
|
2018-06-08 05:47:46 +02:00
|
|
|
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 RegTestLedger(MainNetLedger):
|
|
|
|
headers_class = UnverifiedHeaders
|
|
|
|
network_name = 'regtest'
|
2018-06-08 05:47:46 +02:00
|
|
|
|
2018-07-29 02:52:54 +02:00
|
|
|
pubkey_address_prefix = bytes((111,))
|
|
|
|
script_address_prefix = bytes((196,))
|
2018-06-08 05:47:46 +02:00
|
|
|
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
|