From f57f227fa41166a4febb6f410b827ab78a8c25d6 Mon Sep 17 00:00:00 2001 From: Liam Alford Date: Wed, 3 Apr 2019 15:21:38 +0100 Subject: [PATCH] DeepOnion integration. (#782) --- electrumx/lib/coins.py | 31 +++++++++++++++++++++++ tests/blocks/deeponion_mainnet_50000.json | 15 +++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests/blocks/deeponion_mainnet_50000.json diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 5dcce42..55de330 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -1428,6 +1428,37 @@ class Bitbay(ScryptMixin, Coin): REORG_LIMIT = 5000 +class DeepOnion(Coin): + NAME = "DeepOnion" + SHORTNAME = "ONION" + NET = "mainnet" + P2PKH_VERBYTE = bytes.fromhex("1F") + P2SH_VERBYTES = [bytes.fromhex("4E")] + WIF_BYTE = bytes.fromhex("9f") + GENESIS_HASH = ('000004e29458ef4f2e0abab544737b07' + '344e6ff13718f7c2d12926166db07b5e') + DESERIALIZER = lib_tx.DeserializerTxTime + DAEMON = daemon.LegacyRPCDaemon + TX_COUNT = 1194707 + TX_COUNT_HEIGHT = 530000 + TX_PER_BLOCK = 2 + RPC_PORT = 18580 + REORG_LIMIT = 200 + XPUB_VERBYTES = bytes.fromhex("0488B21E") + XPRV_VERBYTES = bytes.fromhex("0488ADE4") + PEERS = [] + + @classmethod + def header_hash(cls, header): + ''' + Given a header return the hash for DeepOnion. + Need to download `x13_hash` module + Source code: https://github.com/MaruCoinOfficial/x13-hash + ''' + import x13_hash + return x13_hash.getPoWHash(header) + + class Peercoin(Coin): NAME = "Peercoin" SHORTNAME = "PPC" diff --git a/tests/blocks/deeponion_mainnet_50000.json b/tests/blocks/deeponion_mainnet_50000.json new file mode 100644 index 0000000..5e479ac --- /dev/null +++ b/tests/blocks/deeponion_mainnet_50000.json @@ -0,0 +1,15 @@ +{ + "hash": "c6b3c170350aaaa3728df3d0b0e93d2bf52cfb848bbc28137639846e056713a6", + "size": 445, + "height": 50000, + "merkleroot": "10c72de807fa5acdec02f2e6d1061489b27a71b4ef812310dcd315a2868f4d88", + "tx": [ + "e617d1b662f4eacd402dc2b2460f2f2d44f1d121a3f36d30fa20b53a1aa9d3b3", + "aec49d1a1864f55cdb295d5c232b284b17d7c3e6a88829de854704a7e6af0784" + ], + "time": 1502958262, + "nonce": 0, + "bits": "1d0e11f1", + "previousblockhash": "6bd4c3a7685f81957d7b4fc0227c39c675861489dbefc5e9268db0721280e0c8", + "block": "06000000c8e0801272b08d26e9c5efdb89148675c6397c22c04f7b7d95815f68a7c3d46b884d8f86a215d3dc102381efb4717ab2891406d1e6f202eccd5afa07e82dc710b6529559f1110e1d000000000201000000b6529559010000000000000000000000000000000000000000000000000000000000000000ffffffff040350c300ffffffff010000000000000000000000000001000000b652955901bfcbd1d8bf080e0ba5491e45013563d54ef589f11fb3539c9995e958cb837ebb010000004847304402205561cf3dd6a7e5e39ffcc10bab0ae364c79b6b575e4d8a9d6ec3f6a9239b269f02200082f249ba415f1520367a006c4c3d9200dc49814f8620f2ef636d1e80b72f8d01ffffffff03000000000000000000c072acf51600000023210355073d2fdc1b90c3d6a58505a620062651d8236a08e5252f40fe872ecdf90cffac498fc1f51600000023210355073d2fdc1b90c3d6a58505a620062651d8236a08e5252f40fe872ecdf90cffac000000004730450221009410903e2848cba96b8b69cfd459560d3446050c778cd7cc4e881ac68b7c31c902201703743a7f8fe8b1371f0072a2bfda25e2ce68c68aa65434531c716511151eb6" +}