Browse Source

Add Denarius (DNR) (#396)

* Added DNR

With tests
patch-2
Carsen Klock 7 years ago
committed by Neil
parent
commit
19e0f9bce2
  1. 1
      .travis.yml
  2. 39
      lib/coins.py
  3. 1
      setup.py
  4. 14
      tests/blocks/denarius_mainnet_10000.json

1
.travis.yml

@ -17,6 +17,7 @@ install:
- pip install ecdsa
- pip install plyvel
- pip install pyrocksdb
- pip install tribus-hash
- pip install pytest-cov
# command to run tests
script: pytest --cov=server --cov=lib --cov=wallet

39
lib/coins.py

@ -1232,6 +1232,45 @@ class CanadaeCoin(AuxPowMixin, Coin):
TX_PER_BLOCK = 1
RPC_PORT = 34330
REORG_LIMIT = 1000
class Denarius(Coin):
NAME = "Denarius"
SHORTNAME = "DNR"
NET = "mainnet"
XPUB_VERBYTES = bytes.fromhex("0488b21e")
XPRV_VERBYTES = bytes.fromhex("0488ade4")
P2PKH_VERBYTE = bytes.fromhex("1E") #Address starts with a D
P2SH_VERBYTES = [bytes.fromhex("5A")]
WIF_BYTE = bytes.fromhex("9E") #WIF starts with a 6
GENESIS_HASH = ('00000d5dbbda01621cfc16bbc1f9bf32'
'64d641a5dbf0de89fd0182c2c4828fcd')
DESERIALIZER = lib_tx.DeserializerTxTime
TX_COUNT = 4230
RPC_PORT = 32339
ESTIMATE_FEE = 0.00001
RELAY_FEE = 0.00001
DAEMON = daemon.FakeEstimateFeeDaemon
TX_COUNT_HEIGHT = 306187
TX_PER_BLOCK = 4000
@classmethod
def header_hash(cls, header):
'''Given a header return the hash.'''
import tribus_hash
return tribus_hash.getPoWHash(header)
class DenariusTestnet(Denarius):
NET = "testnet"
XPUB_VERBYTES = bytes.fromhex("043587cf")
XPRV_VERBYTES = bytes.fromhex("04358394")
P2PKH_VERBYTE = bytes.fromhex("12")
P2SH_VERBYTES = [bytes.fromhex("74")]
WIF_BYTE = bytes.fromhex("ef")
GENESIS_HASH = ('000086bfe8264d241f7f8e5393f74778'
'4b8ca2aa98bdd066278d590462a4fdb4')
RPC_PORT = 32338
REORG_LIMIT = 2000
class Sibcoin(Dash):

1
setup.py

@ -9,6 +9,7 @@ setuptools.setup(
python_requires='>=3.6',
# via environment variables, in which case I've tested with 15.0.4
# "x11_hash" package (1.4) is required to sync DASH network.
# "tribus_hash" package is required to sync Denarius network.
install_requires=['plyvel', 'pylru', 'aiohttp >= 1'],
packages=setuptools.find_packages(exclude=['tests']),
description='ElectrumX Server',

14
tests/blocks/denarius_mainnet_10000.json

@ -0,0 +1,14 @@
{
"hash": "00000000058989f94843c6047bdf72b3f37f62055354c5ff859e28bb0b5282b9",
"size": 204,
"height": 10000,
"merkleroot": "65841bbf5c89ed2def56d4ef505ee1f680fd66028613e372ae7355f09b646a58",
"tx": [
"65841bbf5c89ed2def56d4ef505ee1f680fd66028613e372ae7355f09b646a58"
],
"time" : 1497949464,
"nonce" : 1484027400,
"bits" : "1c073cc2",
"previousblockhash": "0000000003db0426bcd14ad568df783dceaa1ad5def62d347fe6ef8d77c40a44",
"block": "06000000440ac4778defe67f342df6ded51aaace3d78df68d54ad1bc2604db0300000000586a649bf05573ae72e313860266fd80f6e15e50efd456ef2ded895cbf1b846518e54859c23c071c08767458010200000018e54859010000000000000000000000000000000000000000000000000000000000000000ffffffff170210270418e54859088100000a000000007969696d7000000000000100a3e11100000000232102ae784442221c0d8cc1db36d90ed2051bb08cb984575e8de3e57ddc209ef8b0a5ac0000000000"
}
Loading…
Cancel
Save