Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

12.1 Testnet Testing Phase Two Ignition

Discussion in 'Testing' started by eduffield, Sep 26, 2016.

Thread Status:
Not open for further replies.
  1. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    Hello Everyone,

    I’m pleased to announce the second phase of public testnet testing for version 12.1. In phase one we’ve been working on merging upstream changes from Bitcoin into Dash-core. This included many changes to the way blocks are handled, nodes are handled and improvements to memory management and locking issues we’ve experienced.

    12.1 is the first version of the software that is the hint at what everyone can expect from evolution. 12.1 can be thought of as a pre-alpha of the evolution software, where all eventual functionalities will be accessible through low level APIs, allowing users to integrate existing software and experiment with Dash before it goes completely live and is accessible through friendly interfaces.

    To begin we’re going to introduce superblocks, proposals and contracts in the 12.1 software. This means that we will have mirrored the software capabilities in 12.0, with the budget system, but using a brand new decentralized governance system created purely for dash evolution.

    So what can you do for Dash testing? We want users to come in and test all of the basic functionality, such as mixing coins, instantly sending monies, even creating our brand new shiny governance proposals, then sentinel superblocks. This system is completely autonomous, therefore to test it you’ll need to follow a guide to setup the masternode correctly.

    Besides the many changes below, the system also uses a brand new signaling mechanism which allows the masternodes to form a collective opinion about various states of governance objects, such as funding, validity and many more. This is an extendable system which allows the network to custom design it’s own infrastructure, while only updating dashd yearly at most. This will allow quick resolution of new ideas, implementation and release without risking network security by over releasing versions of the primary network protocol.

    New Software Configuration for 12.1:
    • Dash full node
    • 1000 testnet Dash (faucet)
    • Sentinel : Running from crontab
    • MySQL

    Functional changes to 12.1 since our last testnet session:
    • Sentinel system which uses hourly superblocks on testnet
    • Masternode sync improvements
    • PrivateSend to mix with 3 participants on testnet for a more realistic testnet phase
    • Change extended key version bytes to BIP32
    • Support for transaction lock ZMQ messages to allow event based instant transaction support for easier implementation of external hardware/software systems
    • Update DNS seeds
    • Autobackup enhancements
    • Merged bitcoin upstream v12
    • New CLI for proposals through Sentinel

    Want to help us test and launch 12.1? Simply follow the guides and test operations that we have below, then bring up any issues you find here.

    Sentinel 12.1 Documentation:

    https://docs.google.com/document/d/1g8vA4sGnQVsK7YQfEoQyCrZs_7kfHMW_43m8K7vZOdQ/edit

    Dash Daemon + Sentinel Installation/Usage Documentation:
    https://github.com/dashpay/sentinel/blob/master/README.md


    Latest builds (v0.12.1.0-b9bd116) of v0.12.1.x branch

    Linux --> https://bamboo.dash.org/browse/DASHL-DEV/latestSuccessful/artifact/JOB1/gitian-linux-dash-dist/
    Windows --> https://bamboo.dash.org/browse/DASHW-DEV/latestSuccessful/artifact/JOB1/gitian-win-dash-dist/
    MacOS X --> https://bamboo.dash.org/browse/DASHM-DEV/latestSuccessful/artifact/JOB1/gitian-osx-dash-dist/
    Raspberry --> https://bamboo.dash.org/browse/DASHP-DEV/latestSuccessful/artifact/JOB1/gitian-RPi2-dash-dist/

    Update.sh, put this in .dashcore to add automatic updating
    https://gist.github.com/evan82/1ee7b15945a24b46eea74236cdff333f

    Testnet tools (explorers, faucets, pools) --> https://www.dash.org/forum/threads/testnet-tools-resources.1768/

    --

    Thanks so much to everyone who helped with 12.1! This is been one of the largest undertakings of my professional career and it's amazing to work with such wonderful people. Thanks to Timothy, Udjin, Holger, Nathan, Andy, Node40, Tyler, AcidBurn.

    edit by flare: updated CI links
    edit by tungfa: Sentinel Installation
    edit by flare: Fix Sentinel repo link
     
    #1 eduffield, Sep 26, 2016
    Last edited by a moderator: Feb 4, 2017
    • Like Like x 21
    • Winner Winner x 3
    • Agree Agree x 1
    • Informative Informative x 1
  2. TheDashGuy

    TheDashGuy Well-known Member

    Joined:
    Dec 16, 2015
    Messages:
    1,232
    Likes Received:
    1,011
    Trophy Points:
    183
    Exciting Stuff! Will it launch live shortly after?
     
  3. AndyDark

    AndyDark Well-known Member

    Joined:
    Sep 10, 2014
    Messages:
    352
    Likes Received:
    704
    Trophy Points:
    163
    We need to test the new governance system thoroughly so no rush I think.

    automated setup process (using Docker) and a new proposal generator will be released later today
     
    • Like Like x 1
  4. qwizzie

    qwizzie Well-known Member

    Joined:
    Aug 6, 2014
    Messages:
    1,500
    Likes Received:
    715
    Trophy Points:
    183
    v0.12.1.0-b9bd116
    /Dash Core:0.12.1/
    Windows 10, 64bit OS

    I got a "synchronization failed" message during sync while it was at 25%, and then despite that error message it just continued syncing and is now fully synced. I synced from scratch by the way
    (deleted everything but my wallet and dash.conf)

    Edit : i got the same sync error on my second windows 64 wallet, syncing from scratch..... making it reproduceable.

    [​IMG]
     
    #4 qwizzie, Sep 26, 2016
    Last edited: Sep 26, 2016
  5. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,945
    Likes Received:
    6,731
    Trophy Points:
    1,283
  6. AndyDark

    AndyDark Well-known Member

    Joined:
    Sep 10, 2014
    Messages:
    352
    Likes Received:
    704
    Trophy Points:
    163
    #6 AndyDark, Sep 27, 2016
    Last edited: Sep 27, 2016
    • Like Like x 1
    • Informative Informative x 1
  7. MangledBlue

    MangledBlue Well-known Member

    Joined:
    Jun 28, 2014
    Messages:
    1,248
    Likes Received:
    678
    Trophy Points:
    183
    yhoExHfgoDzYxQ71sYiAZ1C6ufNnZd38aq

    Play Ping Pong?
    Post your tDASH addy to receive - send some to the above....
     
    • Like Like x 1
  8. crowning

    crowning Well-known Member

    Joined:
    May 29, 2014
    Messages:
    1,428
    Likes Received:
    2,005
    Trophy Points:
    183
    I like it, but I don't like the fact that I have to enable JavaScript for code.jquery.com, ajax.googleapis.com, maxcdn.bootstrapcdn.com and your site to create a simple proposal command.

    Especially Google already knows way to much about everyone...
     
    • Agree Agree x 2
    • Like Like x 1
  9. t0dd

    t0dd Active Member

    Joined:
    Mar 21, 2016
    Messages:
    147
    Likes Received:
    132
    Trophy Points:
    93
    Dash Address:
    XyxQq4qgp9B53QWQgSqSxJb4xddhzk5Zhh
    • Like Like x 4
  10. acidburn

    acidburn Active Member

    Joined:
    May 26, 2014
    Messages:
    467
    Likes Received:
    175
    Trophy Points:
    113
    these can be easily changed by downloading and including the source into the app.
     
  11. AndyDark

    AndyDark Well-known Member

    Joined:
    Sep 10, 2014
    Messages:
    352
    Likes Received:
    704
    Trophy Points:
    163
    yep we didn't do the paranoid version yet right. we can bake everything for mainnet.
     
  12. BrainShutdown

    BrainShutdown Well-known Member
    Foundation Member

    Joined:
    Apr 8, 2014
    Messages:
    149
    Likes Received:
    71
    Trophy Points:
    188
    Code:
    Traceback (most recent call last):
      File "scripts/crontab.py", line 126, in <module>
        check_object_validity(dashd)
      File "scripts/crontab.py", line 90, in check_object_validity
        obj.vote_validity(dashd)
      File "scripts/../lib/governance_class.py", line 26, in vote_validity
        if self.is_valid(dashd):
      File "scripts/../lib/models.py", line 239, in is_valid
        if not dashlib.is_valid_dash_address(self.payment_address, config.network):
      File "scripts/../lib/dashlib.py", line 29, in is_valid_dash_address
        decoded = base58.b58decode_chk(address)
      File "scripts/../lib/base58.py", line 81, in b58decode_chk
        result = b58decode(v)
      File "scripts/../lib/base58.py", line 58, in b58decode
        result = chr(long_value) + result
    OverflowError: Python int too large to convert to C long
    Stuck in this step

    Code:
    cd /home/YOURUSERNAME/.dashcore/sentinel && venv/bin/python scripts/crontab.py
    Ubuntu 14.04 x64
    Any tips? :)

    Thanks
     
  13. dark-sailor

    dark-sailor Member

    Joined:
    May 9, 2014
    Messages:
    80
    Likes Received:
    31
    Trophy Points:
    58
    Hi all
    Just started mixing 1000 coins 8 rounds
    :)
     
    • Like Like x 1
  14. AndyDark

    AndyDark Well-known Member

    Joined:
    Sep 10, 2014
    Messages:
    352
    Likes Received:
    704
    Trophy Points:
    163
    yah it's an invalid payment address string in one of the proposals breaking a base58 check...we will patch it shortly
     
    • Informative Informative x 1
  15. MangledBlue

    MangledBlue Well-known Member

    Joined:
    Jun 28, 2014
    Messages:
    1,248
    Likes Received:
    678
    Trophy Points:
    183
    So?? MN's now have to run: Sentinel Installation ??
     
  16. qwizzie

    qwizzie Well-known Member

    Joined:
    Aug 6, 2014
    Messages:
    1,500
    Likes Received:
    715
    Trophy Points:
    183
    So how is the mixing going ? i come across a lot of session timed out and unknown response messages...

    Also something to keep in mind while mixing : it will now need to mix with three users instead of just two users on Testnet.
     
    #16 qwizzie, Sep 27, 2016
    Last edited: Sep 27, 2016
  17. nmarley

    nmarley Administrator
    Dash Core Team Moderator

    Joined:
    Jun 28, 2014
    Messages:
    366
    Likes Received:
    424
    Trophy Points:
    133
    Thanks for the bug report, and sorry about that. Should be fixed in the most current version. Can you try again and post your results?
     
    • Like Like x 1
  18. MangledBlue

    MangledBlue Well-known Member

    Joined:
    Jun 28, 2014
    Messages:
    1,248
    Likes Received:
    678
    Trophy Points:
    183

    Anybody?
     
  19. nmarley

    nmarley Administrator
    Dash Core Team Moderator

    Joined:
    Jun 28, 2014
    Messages:
    366
    Likes Received:
    424
    Trophy Points:
    133
    Not sure if this is what you are asking, but... yes, Masternodes are now expected to install Sentinel alongside Dash Core.
     
    • Informative Informative x 1
  20. dark-sailor

    dark-sailor Member

    Joined:
    May 9, 2014
    Messages:
    80
    Likes Received:
    31
    Trophy Points:
    58
    Seems to have stopped for the last 30 minutes ill keep it going for a bit longer. I managed 1 round on 2 x 1 DASH.
    I am also not seeing any status messages on the overview page to see what’s happening. (Just found the tab in options to turn this on)

    Ha just had another PrivateSend Denominate come through 40 minutes between
     
    #20 dark-sailor, Sep 27, 2016
    Last edited: Sep 27, 2016
    • Like Like x 2
  21. BrainShutdown

    BrainShutdown Well-known Member
    Foundation Member

    Joined:
    Apr 8, 2014
    Messages:
    149
    Likes Received:
    71
    Trophy Points:
    188
    Great! Fixed in the current version ;)

    Sentinel alive! :D
     
    • Like Like x 1
  22. fible1

    fible1 Well-known Member
    Dash Core Team Masternode Owner/Operator

    Joined:
    May 11, 2014
    Messages:
    711
    Likes Received:
    722
    Trophy Points:
    163
    When will there be a GUI for this version? CLI is a pain in the butt :).

    Pablo.
     
  23. nmarley

    nmarley Administrator
    Dash Core Team Moderator

    Joined:
    Jun 28, 2014
    Messages:
    366
    Likes Received:
    424
    Trophy Points:
    133
    • Like Like x 5
  24. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    Small Update

    I'm going to be leading our testing of the sentinel platform by creating a real world simulation of what we're actually going to use the superblock system for. This basically comes down to needing to ensure that we can process more than 100 proposals that are generated from the community, so we're going to use real data for this process. The problem is basically herding cats at this point, it's hard to get everything humming with so many people involved.

    The solution? I'm thinking we should add a small feature to sentinel, vote mirroring. The operator should be able to pick another trusted masternode that they would like to base their votes off of, then they will mirror all of these.

    On mainnet, the feature could be expanded to allow us to enable an idea we've had for awhile, which is to create small committees which review proposals and then vote internally, then signal their decision to the network. We could have multiple independent committees of this kind doing research, even completely disagreeing at times. Masternode operators would then decide how much time they think they can spend on research and determine if they would like to do the research themselves, or trust one of these elected bodies to do the research on their behalf. Just an idea :)

    I am still working the list of proposals to test and other requirements for making sure 12.1 is rock solid. More soon...
     
    • Like Like x 6
  25. qwizzie

    qwizzie Well-known Member

    Joined:
    Aug 6, 2014
    Messages:
    1,500
    Likes Received:
    715
    Trophy Points:
    183
    With regards to vote mirroring :

    For Testnet that could be a good method to mass-test and analyse the 12.1 proposal system, so i'm fine with that.
    For Mainnet (through the use of small committees) i have reservations about this and feel this could impact voting behaviour in perhaps unexspected or unforeseen ways
     
    • Informative Informative x 1
  26. halso

    halso Active Member

    Joined:
    Apr 27, 2016
    Messages:
    440
    Likes Received:
    236
    Trophy Points:
    113
    Hi @eduffield, the committee system sounds a bit over engineered.

    I find most proposals arent that complicated. And proposals that im not sure about, i tend to read the views of other community members i trust and go with them.

    That being said, its always great to experiment. And would defo give it a go on testnet.
     
    • Like Like x 1
  27. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    I suppose I misspoke, I don't mean we should create a bunch of committees now while the network is small. However, we're in the beginning stages of making a very complex and sophisticated software platform for money, if successful it will be of the valuation of a bank. That means we're going to be managing an awful lot of money and the projects will just continually grow in complexity until we do have problems. This is a solution to that future problem, not merely a hammer in search of a nail.
     
    • Like Like x 3
  28. fible1

    fible1 Well-known Member
    Dash Core Team Masternode Owner/Operator

    Joined:
    May 11, 2014
    Messages:
    711
    Likes Received:
    722
    Trophy Points:
    163
    @eduffield I had to redo my comments in response to your clarification. What you are saying makes more sense now, but I would suggest we leave this committee discussion up to when it is needed due to the actual scale of the project and table it for now. Further, I feel like there is wisdom in crowd sourcing and I'm not convinced of this idea even at an enterprise level, this whole committee thing is open to manipulation and abuse. You engineered and excellent system of incentives with masternodes, if we reach a certain level, masternode owners will be able to dedicate resources to vetting more complex proposals as to their interest. Lets see where it goes first before centralizing is what I'm saying.

    Pablo.
     
  29. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    Nathan imported proposals from 12.0, so now we have a full list of proposals to test with. Let's try voting on all of them, if we can get them all about 10%, we should be able to create a superblock. If you have more than one masternode, uncomment the vote-many line.

    https://gist.github.com/evan82/ca63131e4fb63203db45516f1f150955
     
  30. GNULinuxGuy

    GNULinuxGuy Member

    Joined:
    Jul 22, 2014
    Messages:
    112
    Likes Received:
    68
    Trophy Points:
    78
    Dash Address:
    XjkXfrYTSvdYe4738DtNVX5XfUz7qU9HnY
    Ran the voting script from my dedicated tMN running v0.12.1.0-b9bd116. Returned 4 "Governance object not found!" failures, but also many successes.

    tMN has been running for close to 48 hours. Quick scanning of the debug.log indicates things are generally fairly healthy. About to start testing some mixing from other nodes now. :)
     
Thread Status:
Not open for further replies.