Browse Source

Add support for pivxTestnet (#585)

patch-2
FABIANO S CUNHA 7 years ago
committed by Neil
parent
commit
f5b3df9092
  1. 20
      electrumx/lib/coins.py
  2. 12
      tests/blocks/pivx_testnet_1000.json
  3. 14
      tests/blocks/pivx_testnet_10000.json
  4. 10
      tests/lib/test_addresses.py
  5. 8
      tests/server/test_env.py

20
electrumx/lib/coins.py

@ -2051,6 +2051,26 @@ class Pivx(Coin):
return quark_hash.getPoWHash(header)
class PivxTestnet(Pivx):
SHORTNAME = "tPIVX"
NET = "testnet"
XPUB_VERBYTES = bytes.fromhex("3a8061a0")
XPRV_VERBYTES = bytes.fromhex("3a805837")
P2PKH_VERBYTE = bytes.fromhex("8B")
P2SH_VERBYTES = [bytes.fromhex("13")]
WIF_BYTE = bytes.fromhex("EF")
GENESIS_HASH = (
'0000041e482b9b9691d98eefb48473405c0b8ec31b76df3797c74a78680ef818')
BASIC_HEADER_SIZE = 80
HDR_V4_SIZE = 112
HDR_V4_HEIGHT = 863787
HDR_V4_START_OFFSET = HDR_V4_HEIGHT * BASIC_HEADER_SIZE
TX_COUNT = 2157510
TX_COUNT_HEIGHT = 569399
TX_PER_BLOCK = 2
RPC_PORT = 51472
class Bitg(Coin):
NAME = "BitcoinGreen"

12
tests/blocks/pivx_testnet_1000.json

@ -0,0 +1,12 @@
{
"hash": "0923838e270b6c62e8ee957541793511c8aca8db2f6edea5209d3c6fd03b3bbb",
"size": 461,
"height": 10000,
"merkleroot": "af2180392bc2a7d273f8da7c307a12e97ebc19271b7612d2b885079564fc86cc",
"tx": ["df275d713fcf5e78e7e8369d640201d46736c0d2255e31ce45bd5aa0206f861f", "b68d2b93908869b5cf6ebe069aa21dd7ca3f6d5637cc098f3ec3f6f0406f6093"],
"time": 1489054870,
"nonce": 0,
"bits": "1b0101e7",
"previousblockhash": "17314f4629950d94c597f50434a7587af405e84aa5d825f35e09bbdc5cc969e0",
"block": "03000000e069c95cdcbb095ef325d8a54ae805f47a58a73404f597c5940d9529464f3117cc86fc64950785b8d212761b2719bc7ee9127a307cdaf873d2a7c22b398021af962cc158e701011b000000000201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0502e8030101ffffffff010000000000000000000000000001000000016d2ef9508a20c024b554567a1847b565f968b0926faa17a60c915c62f124343c1a0100006a473044022026966a060563b855e2dd95644d79af3713b81f65820a12e854dc40662034e9f702200ae2bee76842c5e21fbc9f17ea7303179e7c00447380ef3bd53a171541101451012102624e3321ae66cfa542f1febe954b052cb560a8392c5ffd9a3d821cd17f47b682ffffffff03000000000000000000f082fdc361000000232102624e3321ae66cfa542f1febe954b052cb560a8392c5ffd9a3d821cd17f47b682ac00f2052a010000001976a9144e22534048a03912670ffbc0714bb06678024d7588ac00000000463044022050067ba9a6b187114651909b16d67b367e1ced79eb2f8b8750c99da55ece848d0220237d89ec7a9cbfdf823ccd24842041cccc350ca518408bb284ed7a5b3e60de47"
}

14
tests/blocks/pivx_testnet_10000.json

@ -0,0 +1,14 @@
{
"hash": "e5131e1610f037fe5b2ccce9e0c521d7811a0c46392238f0fadb06e5c25187e1",
"size": 427,
"height": 10000,
"merkleroot": "1094dedef85d4be585ee2f07af0f3f8d42634413493f67a5beee5f98dbdfbe94",
"tx": [
"705e9918f8cb302b9c498396b89f61ce111830512a2809ef2febc315797f777f", "2b255a6f234cfc1f82573bcff4158f9a08915c6cc78243a5c41c41f2e45b3561"
],
"time": 1489600717,
"nonce": 0,
"bits": "1b00aafa",
"previousblockhash": "1002a4f8555112786b9367fb77152bcf4c058ab756d2dde312f04fbbfd6de02a",
"block": "030000002ae06dfdbb4ff012e3ddd256b78a054ccf2b1577fb67936b78125155f8a4021094bedfdb985feebea5673f49134463428d3f0faf072fee85e54b5df8dede9410cd80c958faaa001b000000000201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff050210270101ffffffff01000000000000000000000000000100000001db86fae450b5cf86e783430b20d1ec5831971cc357ff0cb77458623495235a0b0100000048473044022048ac464dd1a72054a1df51982782a9d2bb8ab1922b8d24b9978ddce6cdbff6e30220497bc6951638b7d5dcae9645e8e2a687c6d736ff6a096debd70804c5139ef14101ffffffff0300000000000000000020c7f1052a010000232102624e3321ae66cfa542f1febe954b052cb560a8392c5ffd9a3d821cd17f47b682ac00f2052a010000001976a914fffc52dc6b3745407753734e8d4dbafa962b869b88ac0000000046304402206506b34c75aa787836034fcf5f01a0e051cd4eedbdd5d32fda015316c2e1951d02206db8085ec577ec6e2942d70c8c2879dfa69b6b53653c0b2c42601a1a47eea70c"
}

10
tests/lib/test_addresses.py

@ -56,7 +56,15 @@ addresses = [
(coins.Bitg, "GP1vBChXjjbaKwMcoPGB4T8cZLXWCe2wLV",
"38bc968f95157bb7446feb1a7d75f2791fc8cf91", "4c7332cd142b788dd89241"),
(coins.Bitg, "GaXGkXrm4dK1CYfSWvKubKgMcrYN59BZGF",
"b6f335a20a887f03a1d8a5c701f967c35d9b45c4", "383b20a90a9109531ccd7e")
"b6f335a20a887f03a1d8a5c701f967c35d9b45c4", "383b20a90a9109531ccd7e"),
(coins.Pivx, "DGSHy3fsygJTZtvnkpT1qG8QvNim5kwyqp",
"7be9fe7b9f894ba8481814c5eb085b788597059a", "9f1c9c70216bdc67a897fc"),
(coins.Pivx, "DSHxy3zZLUxZndKtXq9rXhwAMH1Ypt8qEW",
"e808105b7bfcc8b102cafa7242089b22c77a3b94", "31d61c3076fa0b2b7c74ef"),
(coins.PivxTestnet, "yJ8iHtUxj9U4vsXLCZTbPNbuxG6NJNCvb8",
"e808105b7bfcc8b102cafa7242089b22c77a3b94", "31d61c3076fa0b2b7c74ef"),
(coins.PivxTestnet, "yCcNWqqMhDmsPzKchCPK1ux4HpxK7j3xpB",
"ab72728952c06dfc0f6cf21449dd645422731ec4", "eb3a3155215538d51de7cc")
]

8
tests/server/test_env.py

@ -126,6 +126,14 @@ def test_COIN_NET():
os.environ['NET'] = 'mainnet'
e = Env()
os.environ.pop('NET')
os.environ['COIN'] = ' Pivx '
os.environ['NET'] = 'mainnet'
e = Env()
assert e.coin == lib_coins.Pivx
os.environ['NET'] = 'testnet'
e = Env()
assert e.coin == lib_coins.PivxTestnet
os.environ.pop('NET')
def test_CACHE_MB():

Loading…
Cancel
Save