1 from twisted.internet import defer
6 class BitcoinMainnet(object):
7 BITCOIN_P2P_PREFIX = 'f9beb4d9'.decode('hex')
8 BITCOIN_P2P_PORT = 8333
9 BITCOIN_ADDRESS_VERSION = 0
10 BITCOIN_RPC_PORT = 8332
11 BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
12 'bitcoinaddress' in (yield bitcoind.rpc_help()) and
13 not (yield bitcoind.rpc_getinfo())['testnet']
15 BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
16 BITCOIN_POW_FUNC = data.block_header_type.hash256
17 BITCOIN_SYMBOL = 'BTC'
19 class BitcoinTestnet(object):
20 BITCOIN_P2P_PREFIX = 'fabfb5da'.decode('hex')
21 BITCOIN_P2P_PORT = 18333
22 BITCOIN_ADDRESS_VERSION = 111
23 BITCOIN_RPC_PORT = 8332
24 BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
25 'bitcoinaddress' in (yield bitcoind.rpc_help()) and
26 (yield bitcoind.rpc_getinfo())['testnet']
28 BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
29 BITCOIN_POW_FUNC = data.block_header_type.hash256
30 BITCOIN_SYMBOL = 'tBTC'
33 class NamecoinMainnet(object):
34 BITCOIN_P2P_PREFIX = 'f9beb4fe'.decode('hex')
35 BITCOIN_P2P_PORT = 8334
36 BITCOIN_ADDRESS_VERSION = 52
37 BITCOIN_RPC_PORT = 8332
38 BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
39 'namecoinaddress' in (yield bitcoind.rpc_help()) and
40 not (yield bitcoind.rpc_getinfo())['testnet']
42 BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
43 BITCOIN_POW_FUNC = data.block_header_type.hash256
44 BITCOIN_SYMBOL = 'NMC'
46 class NamecoinTestnet(object):
47 BITCOIN_P2P_PREFIX = 'fabfb5fe'.decode('hex')
48 BITCOIN_P2P_PORT = 18334
49 BITCOIN_ADDRESS_VERSION = 111
50 BITCOIN_RPC_PORT = 8332
51 BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
52 'namecoinaddress' in (yield bitcoind.rpc_help()) and
53 (yield bitcoind.rpc_getinfo())['testnet']
55 BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//210000)
56 BITCOIN_POW_FUNC = data.block_header_type.hash256
57 BITCOIN_SYMBOL = 'tNMC'
60 class LitecoinMainnet(object):
61 BITCOIN_P2P_PREFIX = 'fbc0b6db'.decode('hex')
62 BITCOIN_P2P_PORT = 9333
63 BITCOIN_ADDRESS_VERSION = 48
64 BITCOIN_RPC_PORT = 9332
65 BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
66 'litecoinaddress' in (yield bitcoind.rpc_help()) and
67 not (yield bitcoind.rpc_getinfo())['testnet']
69 BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//840000)
70 BITCOIN_POW_FUNC = data.block_header_type.scrypt
71 BITCOIN_SYMBOL = 'LTC'
73 class LitecoinTestnet(object):
74 BITCOIN_P2P_PREFIX = 'fcc1b7dc'.decode('hex')
75 BITCOIN_P2P_PORT = 19333
76 BITCOIN_ADDRESS_VERSION = 111
77 BITCOIN_RPC_PORT = 19332
78 BITCOIN_RPC_CHECK = staticmethod(defer.inlineCallbacks(lambda bitcoind: defer.returnValue(
79 'litecoinaddress' in (yield bitcoind.rpc_help()) and
80 (yield bitcoind.rpc_getinfo())['testnet']
82 BITCOIN_SUBSIDY_FUNC = staticmethod(lambda height: 50*100000000 >> (height + 1)//840000)
83 BITCOIN_POW_FUNC = data.block_header_type.scrypt
84 BITCOIN_SYMBOL = 'tLTC'