Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

New Dash Developer Documentation site

Discussion in 'Development Tech Discussion' started by thephez, Jan 15, 2018.

  1. thephez

    thephez Member
    Dash Core Team

    Joined:
    Jan 23, 2016
    Messages:
    113
    Likes Received:
    49
    Trophy Points:
    78
    We are pleased to announce the Dash-Docs developer documentation website (https://dash-docs.github.io) that has been in development for several months. Based on a fork of bitcoin.org, the site focuses specifically on providing access to technical information related to the Dash project/protocol.

    In addition to information that overlaps with Bitcoin, the site was expanded with information on all Dash specific features (InstantSend, PrivateSend, Masternodes, and Governance).

    Coverage includes:
    ** As with bitcoin.org, this documentation has not been extensively reviewed by Dash experts and likely contains errors. The Issue and Edit links on subheading can be used to help improve the content.
     
    • Like Like x 7
    • Winner Winner x 7
  2. Stealth923

    Stealth923 Well-known Member
    Foundation Member

    Joined:
    Mar 9, 2014
    Messages:
    343
    Likes Received:
    370
    Trophy Points:
    233
    This is freaking a freaking HUGE repository of info for Dash and what has been needed for a very long time. Very well written and professionally presented.

    Amazing work @strophy and team.
     
    • Agree Agree x 3
    • Like Like x 1
  3. daf

    daf Active Member

    Joined:
    Oct 18, 2015
    Messages:
    175
    Likes Received:
    127
    Trophy Points:
    103
    Huge. Thanks for the hard work.
     
  4. ThisMustBeTrue

    ThisMustBeTrue New Member

    Joined:
    May 8, 2017
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    1
    I found a small mistake at https://dashpay.atlassian.net/wiki/spaces/DOC/pages/134414366/Emission+rate

    Dash Coin Emission
    While Dash is based on Bitcoin, it significantly modifies the coin emission rate to offer a smoother reduction in coin emission over time. While Bitcoin reduces the coin emission rate by 50% every 4 years, Dash reduces the emission by one-fourteenth (approx. 7.14%) every 210240 blocks (approx. 383.25 days). It can be seen that reducing the block reward by a smaller amount each year offers a smoother transition to a fee-based economy than Bitcoin.
    It should say (approximately 365 days) instead of (approx. 383.25 days)

    210240 blocks * 2.5 min/block / 60 min/hr / 24 hr/day = 365 days.
     
  5. ThisMustBeTrue

    ThisMustBeTrue New Member

    Joined:
    May 8, 2017
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    1
    Block reward allocation
    Unlike Bitcoin, which allocates 100% of the block reward to miners, Dash splits the block reward between the miner, a deterministically selected masternode, and the decentralized budget system. Dash features superblocks, which appear every 16616 blocks (approx. 30.29 days) and release 10% of the cumulative budget over that budget cycle period to the winning proposals in the budget system. To pay for superblocks, the block reward for normal blocks over the period is reduced by 10%. Normal block payments are split equally between miners and masternodes according to the payment logic, resulting in an coin reward allocation over a budget cycle as follows:​

    This is wrong too. Should be (approx. 28.847 days) if the number of blocks is accurate.
     
  6. ThisMustBeTrue

    ThisMustBeTrue New Member

    Joined:
    May 8, 2017
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    1
    So apparently the actual average time per block is 2.625 minutes instead of 2.5 minutes. I didn't know this. If that is true than I am wrong and the documentation is right.
     
    • Agree Agree x 1
    • Informative Informative x 1
  7. moocowmoo

    moocowmoo Bovine Bit-flipper
    Foundation Member

    Joined:
    Jun 15, 2014
    Messages:
    483
    Likes Received:
    603
    Trophy Points:
    263
    Dash Address:
    XmoocowYfrPKUR6p6M5aJZdVntQe71irCX
    Yes, you're not going crazy, dash blocks are 2.625 minutes apart!

    Thank you for taking the time to check the math! I appreciate you taking the
    time to look at the details! @strophy notified me of an error in one of my
    documents that had been there for over a year because nobody had checked for
    themselves.

    I've casually tried a few times to get to the bottom of the 5% overage and have
    found some candidate off-by-one iterator ranges but never found one that
    exactly fit. It's probably a combination of factors.

    @UdjinM6 commented on one such gremlin when he refactored a relevant section:
    https://github.com/dashpay/dash/blob/master/src/pow.cpp#L114

    I just added an annual breakdown to https://stats.masternode.me/network-report/latest/json
    You can see mn_per shows the issue's been there since day one.
     
    • Informative Informative x 1
  8. demo

    demo Well-known Member

    Joined:
    Apr 23, 2016
    Messages:
    3,114
    Likes Received:
    263
    Trophy Points:
    153
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Why I cant find an answer to his question in the docs?
     
  9. thephez

    thephez Member
    Dash Core Team

    Joined:
    Jan 23, 2016
    Messages:
    113
    Likes Received:
    49
    Trophy Points:
    78
    As I understand it at this point, configuring Dash to accept a user-provided key for signing spork messages on either mainnet or testnet would render that client incompatible with the network.

    If someone wanted to do some research or something on the side (not connected to the Dash network), they could just modify the default values for the sporks (in sporks.h). Either way they are going to have to change source code.
     
    • Informative Informative x 1
  10. ThisMustBeTrue

    ThisMustBeTrue New Member

    Joined:
    May 8, 2017
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    1
    I just saw this. https://bitinfocharts.com/comparison/dash-confirmationtime.html#log

    It shows that the blocktime was 2.5 minutes per block until 5/15/2014 and before it jumped to its current time. Something changed then. What was it?
     
  11. thephez

    thephez Member
    Dash Core Team

    Joined:
    Jan 23, 2016
    Messages:
    113
    Likes Received:
    49
    Trophy Points:
    78
    My guess is that it was due to this - "Masternode Payments, DGW3 and Magic Numbers Fix. Hard fork on May 14th!"