From 1da936a59b87bb7de8867ebee8d8f47cb269b026 Mon Sep 17 00:00:00 2001 From: AmiT177 Date: Fri, 19 Jan 2018 10:49:48 +0200 Subject: [PATCH] Added HOdlcoin support. (#350) * Added HOdlcoin support. * Update coins.py * HOdlcoin block test --- lib/coins.py | 15 +++++++++++++++ tests/blocks/hodlcoin_mainnet_38200.json | 20 ++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 tests/blocks/hodlcoin_mainnet_38200.json diff --git a/lib/coins.py b/lib/coins.py index 5b5bf6d..3d6ad54 100644 --- a/lib/coins.py +++ b/lib/coins.py @@ -380,6 +380,21 @@ class BitcoinMixin(object): '4ff763ae46a2a6c172b3f1b60a8ce26f') RPC_PORT = 8332 +class HOdlcoin(Coin): + NAME = "HOdlcoin" + SHORTNAME = "HODLC" + NET = "mainnet" + BASIC_HEADER_SIZE = 88 + P2PKH_VERBYTE = bytes.fromhex("28") + P2SH_VERBYTES = [bytes.fromhex("05")] + WIF_BYTE = bytes.fromhex("a8") + GENESIS_HASH = ('008872e5582924544e5c707ee4b839bb' + '82c28a9e94e917c94b40538d5658c04b') + DESERIALIZER = lib_tx.DeserializerSegWit + TX_COUNT = 258858 + TX_COUNT_HEIGHT = 382138 + TX_PER_BLOCK = 5 + class BitcoinCash(BitcoinMixin, Coin): NAME = "BitcoinCash" diff --git a/tests/blocks/hodlcoin_mainnet_38200.json b/tests/blocks/hodlcoin_mainnet_38200.json new file mode 100644 index 0000000..dac6811 --- /dev/null +++ b/tests/blocks/hodlcoin_mainnet_38200.json @@ -0,0 +1,20 @@ +{ + "hash" : "0000001549849c02a62b68f5cb7fb7beb1bbcfe05a031b3c64e5b7c0d047b47d", + "size" : 2885, + "height" : 38200, + "merkleroot" : "7caa3260697d878875c5535e4fa0b16f1957bb472bff796607d0fa1a991a52c6", + "tx" : [ + "b32e0efdd5978e6da635b97edf80b1a268d8c1401e3137a00296e5c096b73aad", + "e0b110989d33b04925fede9ce61a58e416adf90288e4e6e07409bd754090a6ab", + "65400cd15f438cd0c5bc805951ea48c1b52d88bf4ba1746b359d86e510261d55", + "850dfd53bb95759f49c9ea7188295f5581ecf53a6e1c551e412018865f62f325", + "875f4291642805ca8f6d0871fe0a20a42a6300c5f1c610d81f3ddc06d1b71249", + "313ef761f0312cf5a221069cb293c62ea16431191d6c4e69b2eeaee3c6afe114", + "52e0a1024321f6cfee001419333aa5e729bef13fd05c9736ead3aa80b2264652" + ], + "time" : 1460515581, + "nonce" : 4216, + "bits" : "1d6c0663", + "previousblockhash" : "0000005135889a6a06fe0239ca5976a3812f888199573994c0b7ae2e51e5b275", + "block" : "0400000075b2e5512eaeb7c09439579981882f81a37659ca3902fe066a9a883551000000c6521a991afad0076679ff2b47bb57196fb1a04f5e53c57588877d696032aa7cfdb20d5763066c1d78100000d78501005ba1c1120701000000010000000000000000000000000000000000000000000000000000000000000000ffffffff200338950004fdb20d57082ffffd28040000000d2f6e6f64655374726174756d2f00000000016226062a010000001976a91416513c9f44366d527e2a0f123fa8ac80cbe1ef2e88ac0000000001000000083098f00d1ee573854c92e863d8be29c7968f16c5586350da067abdb8192c772d000000006a473044022057c8d253a719e9c3b3b9fcf0cc5011b16993263df8abd537d6990720488a19120220250cfb8204ed1780ab4cae29b36f7f624d4e1cdd430267282753ed908a641419012102034f8509f97c5c77ece89addd35487dcdab0b6dfae2f83717b591b1e9d150a8afeffffff66012f9cb2a1c734027665a722cbbae2280a59448efd5d4fd9d039763a00880c000000006a4730440220425f8acd95dbc671dc5497485ce02c5d0843f66259229fcc899bea20aa4bff7002207a8cd20837b3f64afb9162610766c4f61dedf1624777822f667bcd937e2959d6012102034f8509f97c5c77ece89addd35487dcdab0b6dfae2f83717b591b1e9d150a8afeffffffacce0ad69292b43689c0c3224ae13a9c2d67e2ae6d6a0a91d246156721e4e2e5010000006a473044022074fcb69c2b5299ca538e92aba61b3a05a9e3aba2673fb88086804b58ebc2e4e202203567ebbc15fa31646bc2fa26980b99539241b15d198ea0688238abd70b65583801210352d97dcc509f8b89ffe658c3e316909d59e5686a38f293d54baf912c5871bb7ffeffffff8abd190dbe8be8c07b00229edc8ed98986a1e1162bad68aae0dd2802f8353cc8000000006b4830450221009733fe224b02c346bcbbfb08b4212cba9c094d98e7b0e6dd44dd9fdbb87f028d02203c574435cfe7e61e5ef667053e0f3c23ef288c9d2ec62c61dfd9e38351fd9d4f012102034f8509f97c5c77ece89addd35487dcdab0b6dfae2f83717b591b1e9d150a8afeffffff705d27362b41d96aaa1d610f5b4066bf96b17d90f982777192df2c032b50a23c010000006a4730440220344c81c778061334da6c93eef93ce43f2b0c362a10890f80ed34bec1310f1c0002203df92418d4c14dcd243199a59f24f127977fcd80ee8a19f14b52c2c784d8a1ff012102ca71adadfd79458ce109e24dd602ab9c4bb23bdc836e5e5e0312be38f87d66c3feffffff1f141b00c7a090a87b9a7b991668434951175e50b9fb4642cb7af48d4d918308000000006a47304402206d319617f0623b9e46d6a125dcb7e17296ae267cd3ad032879054203aad99cbc0220181d84238e422cc3cc708c8f26b9c874b4395d193388dc697cea7ee72b3d8cfe012102034f8509f97c5c77ece89addd35487dcdab0b6dfae2f83717b591b1e9d150a8afeffffffd5aeb1514f7ad8ad3ba0d41096354d3e574f111a17785fe0c370a55ce69902d2010000006b483045022100ab92696a0deaaed9ccc8bfef4efff9e94f276a34ce3f9436abb5c4e1f5c8f40902206403f8f1c15d7a54ea1f19b10fb016cc9f76a93459a6c75f09726fd1cee2148e012103cdea19048dae1411d73e341bc854db981c7c32000bc356ccaaf2e55939b6fa22feffffff3e20ab1501ba7a1ebc060acf8ebb8c6fd88fb4120fbc1c87930b339f7d8bbedc000000006b483045022100fb1b657494c26082fb405ee1690c4a95134de5731f409f3bbf746e7ebffa38ca02203747e51315fad172b4270653c7f523d4e3fa22d12c394fae36f57031924a1b7e012102837aa29741e354ce193a89974f720be1cfd8ec05308752360d45f4dcbf7cdcaffeffffff029ed3cede050000001976a914583fc2f568444d2d25bfbc3eff4bb30417975f1f88acdaad0f00000000001976a914c5d9c029f13a6e52f5707e5d5c256512ab2d362a88ac379500000100000001c9001545d3ec51a844a9fe71393e6130097750474d1c5ea0bab35eb94847ad10000000006a4730440220091e9a048274d8cb424e27caa932ddb2538eda7c0c41771cea7b689d937fc902022033b32f8c897af50751fb9851ee2b1a1487b49be38a3b3cd5657a0bab5739aab6012102034f8509f97c5c77ece89addd35487dcdab0b6dfae2f83717b591b1e9d150a8afeffffff02651e2400000000001976a914f973d158b7e344ddc489aca3816ed683248b71f888acf295142a010000001976a914dd97511cd56fadf884c140db41f6587bfd9c970788ac379500000100000001a3f901d7e993aad2f310be88d89e9edad5df1309e3803e372ee9f192f5d212fc010000006b483045022100c0aba433782ce6b2cfe0aec70e3b6f5752121426af75f4ea78f2547d7773312b022011ce21a7777a05ac2495a6859a744af8e7dfa78d604dab581f91af5636bd6dd40121030d4908889b01ed25478f46b8975fe618fb52f8156ebbf996119ea28423becd11feffffff022c00de7c000000001976a914fca90b447f4a4a84c5a36b115fc0da953ec9535a88ac0562873d000000001976a914eeaea63253ce993b246fd07caa73da3e41de307088ac37950000010000000139b2b675d3937e03da186560f1cb0188fadf4b7784f4502f2ebb822c24995d12000000006a4730440220764af6dfc020af5fa95ab2734f97bac4a197d0e4cad1b6647a3b2c7f7c7d047002206e0cbc26b3df33d39767c7e82a4ac7a75a038bae23f0ab92f02f6facae239d360121036acf3bb480a8b3db917cb7eb8a8efa1af18ec4bc89a06dabfc9ef0ecc35fdbaffeffffff029042f816000000001976a914c76c36027bc5fab4a4c1f3572a9d85f0372efa5d88ace169f61d000000001976a914c61c24e63d8686447ddad1a1c0f0c30f53d5e05388ac3795000001000000012a8c24b40a8e40027a9cd301566e89c55816de80118150b6289d34e247dfbf1b000000006a47304402205a6a3862747a3746d5bd0376fe5ea35158d582086747a928745613b1170f862f02207598a20f9cc6f3c21188449fb9df4e62929182b8dca168a4d111ea1f1943c488012102edee8123a5ff10ff99363104aa81de6f17905ae1d901c592f80c55395eea638afeffffff02339e8009000000001976a91420e212cd244a96b879aced1560f3e574a2e382e188ac8171532d000000001976a914651608f0934e6fe284dd2348fa5f45f4a30ea52588ac379500000100000003737798484255c4b51307caddacd510f627c4b13fd936d33facc6524a087cff08010000006b483045022100c84c0373a28ce3c1752f4982a232212bb7a4a80d3385acae24cea8cef1c7e687022063863c4e737b0cf4c73ed4b6677daadcca76721d34ba17f1025f56e08cce476c0121036fa9f8511381af76f8a097b85fddc80f489ed32e0c12b9dd9fdd3f9a0b0dbc49feffffff8b60f2008465f6d8bb5dd8d21dd786bc516e6e4b6f45ac59e484c1d9a29e4734000000006a47304402202d8ac18ee89547367576ce68a21f22fea595c69988de7952f2985dbefe3ae87102204a4ce511e56119392f20ed3be448c293160a7968561174231adfe2fac2670900012102da50a27feae936d69ee4a4f26a28c9301cc3374722fbd222cc595f9c561772e1feffffff780b4dfa2695837323b7ec5f1a75de634270b575bab72245029b84be2b8928d4000000006b483045022100f61cebd38a898a56be862b15d27e20af438717e13cce8a0fe5f6b855f2ea3d520220453ad08f503518e1d12d6c9b0ee5fef5f4c6fd2170e7a5750945c4c6599bda39012103909ef210f4892548c4dc07c5cb41c493000a6a47ad7d94b69ac8b537208ee913feffffff0231695200000000001976a9141cd6aabfe6b4ce339d9d6a2d3464a68e3bbf610488ace9f60406000000001976a914a3c0b7a0a60ee0fde80307ee6d0bc58dc5cc611788ac37950000" +}