Browse Source

Add Polis, ColossusXT, GoByte, Monoeci (#504)

patch-2
cronos-polis 7 years ago
committed by Neil
parent
commit
93e4b1f15a
  1. 2
      .travis.yml
  2. 116
      lib/coins.py
  3. 15
      tests/blocks/colossusxt_mainnet_100000.json
  4. 14
      tests/blocks/gobyte_mainnet_100000.json
  5. 16
      tests/blocks/monoeci_mainnet_100000.json
  6. 14
      tests/blocks/polis_mainnet_100000.json

2
.travis.yml

@ -25,6 +25,8 @@ install:
- pip install blake256
- pip install x11_hash
- pip install xevan_hash
- pip install quark_hash
- pip install git+https://github.com/goacoincore/neoscrypt
# command to run tests
script:
- pytest --cov=server --cov=lib --cov=wallet

116
lib/coins.py

@ -1825,3 +1825,119 @@ class PacTestnet(Pac):
TX_COUNT = 16275
TX_PER_BLOCK = 1
RPC_PORT = 17111
class Polis(Coin):
NAME = "Polis"
SHORTNAME = "POLIS"
NET = "mainnet"
XPUB_VERBYTES = bytes.fromhex("03E25D7E")
XPRV_VERBYTES = bytes.fromhex("03E25945")
GENESIS_HASH = ('000009701eb781a8113b1af1d814e2f0'
'60f6408a2c990db291bc5108a1345c1e')
P2PKH_VERBYTE = bytes.fromhex("37")
P2SH_VERBYTES = [bytes.fromhex("38")]
WIF_BYTE = bytes.fromhex("3c")
TX_COUNT_HEIGHT = 111111
TX_COUNT = 256128
TX_PER_BLOCK = 4
RPC_PORT = 24127
PEERS = [
'electrum1-polis.polispay.org',
'electrum2-polis.polispay.org'
]
SESSIONCLS = DashElectrumX
DAEMON = daemon.DashDaemon
@classmethod
def header_hash(cls, header):
'''Given a header return the hash.'''
import x11_hash
return x11_hash.getPoWHash(header)
class ColossusXT(Coin):
NAME = "ColossusXT"
SHORTNAME = "COLX"
NET = "mainnet"
XPUB_VERBYTES = bytes.fromhex("022D2533")
XPRV_VERBYTES = bytes.fromhex("0221312B")
GENESIS_HASH = ('a0ce8206c908357008c1b9a8ba2813af'
'f0989ca7f72d62b14e652c55f02b4f5c')
P2PKH_VERBYTE = bytes.fromhex("1E")
P2SH_VERBYTES = [bytes.fromhex("0D")]
WIF_BYTE = bytes.fromhex("D4")
TX_COUNT_HEIGHT = 356500
TX_COUNT = 761041
TX_PER_BLOCK = 4
RPC_PORT = 51473
PEERS = [
'electrum1-colx.polispay.org',
'electrum2-colx.polispay.org'
]
SESSIONCLS = DashElectrumX
DAEMON = daemon.DashDaemon
@classmethod
def header_hash(cls, header):
'''Given a header return the hash.'''
import quark_hash
return quark_hash.getPoWHash(header)
class GoByte(Coin):
NAME = "GoByte"
SHORTNAME = "GBX"
NET = "mainnet"
XPUB_VERBYTES = bytes.fromhex("0488B21E")
XPRV_VERBYTES = bytes.fromhex("0488ADE4")
GENESIS_HASH = ('0000033b01055cf8df90b01a14734cae'
'92f7039b9b0e48887b4e33a469d7bc07')
P2PKH_VERBYTE = bytes.fromhex("26")
P2SH_VERBYTES = [bytes.fromhex("0A")]
WIF_BYTE = bytes.fromhex("C6")
TX_COUNT_HEIGHT = 115890
TX_COUNT = 245030
TX_PER_BLOCK = 4
RPC_PORT = 12454
PEERS = [
'electrum1-gbx.polispay.org',
'electrum2-gbx.polispay.org'
]
SESSIONCLS = DashElectrumX
DAEMON = daemon.DashDaemon
@classmethod
def header_hash(cls, header):
'''Given a header return the hash.'''
import neoscrypt
return neoscrypt.getPoWHash(header)
class Monoeci(Coin):
NAME = "Monoeci"
SHORTNAME = "XMCC"
NET = "mainnet"
XPUB_VERBYTES = bytes.fromhex("0488B21E")
XPRV_VERBYTES = bytes.fromhex("0488ADE4")
GENESIS_HASH = ('0000005be1eb05b05fb45ae38ee9c144'
'1514a65343cd146100a574de4278f1a3')
P2PKH_VERBYTE = bytes.fromhex("32")
P2SH_VERBYTES = [bytes.fromhex("49")]
WIF_BYTE = bytes.fromhex("4D")
TX_COUNT_HEIGHT = 140000
TX_COUNT = 140000
TX_PER_BLOCK = 4
RPC_PORT = 24156
PEERS = [
'electrum1-gbx.polispay.org',
'electrum2-gbx.polispay.org'
]
SESSIONCLS = DashElectrumX
DAEMON = daemon.DashDaemon
@classmethod
def header_hash(cls, header):
'''Given a header return the hash.'''
import x11_hash
return x11_hash.getPoWHash(header)

15
tests/blocks/colossusxt_mainnet_100000.json

@ -0,0 +1,15 @@
{
"hash" : "a0b98bc9d1fa1212929fcdc0340e3a247841ddd9ca2c25341ad72b934a212298",
"size" : 428,
"height" : 100000,
"merkleroot" : "b9ccc687ebcd7f9d64cfa19beb868266c074555b64c4b9dab0095c3f8e2c2618",
"tx" : [
"7d2bc02e0e8fc48800bab3483c24fe43965b641e4c78264f8baf259348dbd99b",
"eddfb4981949faa1ad910dfeb6fac03139f9962c28dfcf0263daa28621f7794c"
],
"time" : 1512812610,
"nonce" : 0,
"bits" : "1b00a923",
"previousblockhash" : "34fcd8993db57a21eaf2ca92de7f9f9cd4560540c93878d2813bc3e731c43936",
"block": "030000003639c431e7c33b81d27838c9400556d49c9f7fde92caf2ea217ab53d99d8fc3418262c8e3f5c09b0dab9c4645b5574c0668286eb9ba1cf649d7fcdeb87c6ccb942b02b5a23a9001b000000000201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0603a086010101ffffffff0100000000000000000000000000010000000192b6fdbfa57df70b8bd2d255c2fc3a85c381ceb31c448a7aecbb769bd143ca34010000004847304402205f275fb3121f8333a8bbe1c33e3adcf34cab29178935024d3d3019c97d9e08470220284c41203eb204161dc1a1972ac0a0c622e03d031289ae6a2e54609c01fac4b301ffffffff0300000000000000000002dcefd19500000023210200a8c63baa84e049c907519bf81cec60e66f1ca6b78c7eb94906bc2c726de079ac00f83c31210000001976a914222932b53e7c81174e7b97d097aa33056b3f15f488ac0000000046304402201573edcce491a50d7dbe23c56d601ea768d1009f4e17efbe92bd416c4469f5f502203d9e2c09345c3cfbbd210b77307db92aaf4694010c572a0198fea7e1d7c11c6f"
}

14
tests/blocks/gobyte_mainnet_100000.json

@ -0,0 +1,14 @@
{
"hash": "00000000003cdff575eb21e972bb193c1838616daaf07c19754402d8fece9c4a",
"size": 276,
"height": 100000,
"merkleroot": "a5cf9209295b620d3c63dda9ad31df43c4eb78cc6c4a2bb87b58e156a8e93abd",
"tx": [
"a5cf9209295b620d3c63dda9ad31df43c4eb78cc6c4a2bb87b58e156a8e93abd"
],
"time": 1526688796,
"nonce": 326975488,
"bits": "1b7f84e2",
"previousblockhash": "0000000000ec2975b554bc56b37a7afa1ac476ada589009a84561df5fd2760b5",
"block": "00000020b56027fdf51d56849a0089a5ad76c41afa7a7ab356bc54b57529ec0000000000bd3ae9a856e1587bb82b4a6ccc78ebc443df31ada9dd633c0d625b290992cfa51c6cff5ae2847f1b00407d130101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4c03a08601041c6cff5a08fabe6d6d0000000000000000000000000000000000000000000000000000000000000000010000000000000060000011760000000d2f6e6f64655374726174756d2f00000000028017b42c000000001976a914ce639ef8ac870ca37ed878a25366a2c867fe029288ac8017b42c000000001976a9141b760191a85e21e15f62b585196e390e75e9db2488ac00000000"
}

16
tests/blocks/monoeci_mainnet_100000.json

@ -0,0 +1,16 @@
{
"hash": "00000000000003c3a2a5014f852ef36461e90f41be735f4fbcd5beef6795600f",
"size": 2417,
"height": 100000,
"merkleroot": "6360033c89427f0a767c7d9e10753d9b6aff51ee2d779d7a3e9ea568de25c6d3",
"tx": [
"79861974fb1c9256734e538c360c2d46a6f82a94446ba6b80243f5df1bb7adf2",
"b97d07b3735761d3f4861515b7638b6dd3d2c1fdbbc4561bdb22ae8fe1a2c78d",
"1617b022cd332b367ffbba2229fc8165c9200bcba8eb008201215e4a88ec8e52"
],
"time": 1512330429,
"nonce": 2013304195,
"bits": "1a3b9734",
"previousblockhash": "00000000000030e3684b9d9b286c7b3448b8abb9a74e2872f7a76d423d661142",
"block": "000000204211663d426da7f772284ea7b9abb848347b6c289b9d4b68e330000000000000d3c625de68a59e3e7a9d772dee51ff6a9b3d75109e7d7c760a7f42893c036063bd54245a34973b1a839500780301000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4c03a0860104bd54245a08fabe6d6d374950cd3cd62846433c8864a6f252abfbe671b075641984e34e9b07b32d84e901000000000000004ffffeab930000000d2f6e6f64655374726174756d2f0000000002208eaf2f000000001976a91407a336339fc71fee875059c4ee05efd45f9c43aa88ac88e3eb0b000000001976a9149b96694b5df4b8baa7d8050e07d61a5c63a86ede88ac00000000010000000c1008b31bf45515561630de0c979ae3b50b04544f3321b9ce3bb85dd20149eeea010000006b483045022100bca727653e0c63eec6b1970b4d1196999fd8230528a2561a29634b944e78db9d02200e7eb8d4719938ef161f6c661e50650b1118fc59134af221875e513ef6a6e8ed012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffff20d4830a71a1e0991b5da56295b83cbed5c675d0c55010284483b593b9ededcc010000006a47304402201d808361e8e93291169d4c66e7588120e872445ca652e5230ba0d135b858aece02207e13ed4fb8b75c8aba8f045058ef69575df425f2ba8f74ce896efaef2c927e81012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffff3b4687f3c9b69108f49d6cb0215bdc177ee8d1eb95d97014ec966a134d46b74d010000006b48304502210083d3a62427e22e45a5c0bea204b7b2ecf8af29efe2b73336f5b18dbf11c6f88502204bf40a2214092a9bba05772a5035586729805541c3d078a2fdecdcd2c049d522012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffff47e2ff4bf9bd0dac450885e0294a5158a06a286ff531d3df257ff94b65d3fd98010000006b483045022100fce0d48a423919d73b6502ec902f2b188f4523b6b14145d7c76b0d0b49a886dd022025142c705316fa3f739a0b15c32ffdab5b0cf56059ba5c37144ce744961ee15a012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffff5b7f0c0e1110d873aa47908b354e404aa6af18d5287ceaddd8bddc7e18e50fe4010000006a4730440220616a1e48cff10fb9e6103b70ed0e7b85e4742917e0314d58ec389fb79b5a643f02201cb1a3dc2f86aced9847da1c4dbc69a2dd5f6203d40de2c1dbe1496cd72a1ba5012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffffbef5e4a2136c0410a06aadde882157d9cf61e46a3a7ff64023530890b8ad1a1d010000006a47304402201f7f7b267d631e84357d24f315a2d0788dd8f0948069c0a8447932a5d103ce4102206b5db28a4e8f6d16bcbf4c696eeae74b22725267574ab1e489e59617d3522a38012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffffbf63989a078e30744c510570e4720cf79ad54599e3a1b1e69de5fc17ad57b5d2010000006a47304402202ff65580d4bafbd07440239ddff61dc020c987ffff8e93273251be95992540f202204555f33d309d956471f4f98778ef70ee16ff24595f523f05f5c67a5eb78389a2012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffffdd922a814f80bcd33f9f1a0e0e7ea573578f37ff6782789bfea8d0e1e6d476e5010000006b483045022100836a72ac96699568945d57986d9841894a1267b5b3cdc1111b2658422a4b628002202341c17e803e0bdb64803022cee96181785569534a47bdc20cd89e86d37469c6012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffffe893158bf6ca5130a8cebf6b0cf531093da723a564506b4e085873a84fc00629010000006a47304402201596c27b07b53709f3d193313e153d4b5979b102ce532886dbd67b2e5d9f620c02207e01add6b4b1ad2d4a1013b0aee5812eb10f1251bbca9eb149b6c468b04cadd2012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffffeada265d67cc6d2ffe2009e974818d205d1b180c05acc3f6fee3c671f6cc2489010000006b48304502210080742b07182091b51a7541cb442ca30d659f8e7b5364bd1afcc84e770694df3202200ee5d1b26e88cba0b4f0d81b512ce075d31ff4fa83953b11b565990f4c64c423012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afefffffff978e7e9bb583bd10a7ea6ef8b9cae28b8dc110946cac2784dc4212c25355b14010000006a47304402204507133d1676fd7f0b1554727af4582f65bf3327821f5c2dde39b935cc66ff830220169ac0b619dff27635acdf8bc21a17033218eaa3a225b0de91ba7675a709ae88012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afefffffffa3521f5ff570b866c80a85468af5e2b0db53c48a0b72ca03ed70e4fec565d5b010000006b483045022100faab0654fbffbb8b9b7152f94613eff312a7e5bc6631f279074995076bcf9e5702203336f0c3be6cfdac582c10942bfa7c5d7c1df836c3c4a775478a57e621ef6be1012102ff3c8f20bb1873828e76888e051b393abbe88ba9b8241d8f86c1f7f93775b20afeffffff02268cd802000000001976a914dd8284a24abc29b1c35fdbfaac4574aa25f3d1e688ac2a435b39020000001976a914afd85e472da2d68bfbcdc6119c64e051bdbe3c9e88ac9f8601000100000001c6d5228b3ab8acbd8081fa7228a36775517cb2d1c924c5cda121a0c1311cc41a030000006a4730440220052972291bb2e3182e4b8fc9e68a053ffa6ca7ff9436ac5122391204ad7efec8022034df00d00816895b93783071c943333dffd192c3a9da87c3a9bb8b9201045e9701210321a3d60872f71cbc3ce3f7a58b418e32a9a18c63fbc1a47a14981d2e0dcba51dfeffffff0461320000000000001976a914ff02babbcd9dafc0e5350dc2c0890e622108463c88acee680000000000001976a914b7bee0d18d01768a4929322c850d70c61f7f0b2788acb67c0000000000001976a914dc95400eff4c1010c43200091f50a6b2444ad73e88ac81531400000000001976a9149f7965969236cdbf5a96a900b22f0d323f9a25bb88ac9f860100"
}

14
tests/blocks/polis_mainnet_100000.json

@ -0,0 +1,14 @@
{
"hash": "0000000000000818820ee2aecc291c7b6076984cf7c0c152869de128cf30262f",
"size": 232,
"height": 100000,
"merkleroot": "6dbd34dd6a62b589e6f17a18ae65461c45e8c7a278b893e0c5cffd64d5cf47f1",
"tx": [
"6dbd34dd6a62b589e6f17a18ae65461c45e8c7a278b893e0c5cffd64d5cf47f1"
],
"time": 1526522937,
"nonce": 2510244892,
"bits": "1a0c92e1",
"previousblockhash": "0000000000000eae3336c7a181ef9eaa70ddb0a59975207e64081e2eff39f1cf",
"block": "04000020cff139ff2e1e08647e207599a5b0dd70aa9eef81a1c73633ae0e000000000000f147cfd564fdcfc5e093b878a2c7e8451c4665ae187af1e689b5626add34bd6d39e4fc5ae1920c1a1c4c9f950101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff2003a086010439e4fc5a085ffda1ce4d0700000d2f6e6f64655374726174756d2f0000000002002a7515000000001976a9146629c9b161656be9637e0dd83153d7600084047b88ac00a8d455000000001976a914f1564b5fe337aaf93e963c9c236473a25a61f41788ac00000000"
}
Loading…
Cancel
Save