• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

V12.1 Testnet Launch Thread

Status
Not open for further replies.

eduffield

Core Developer
Introduction

As you are likely aware, development has been progressing rapidly in 2016 as we pursue the next set of objectives on the 2016 roadmap. Because of the multitude of changes needed to facilitate the radical enhancements envisioned to our network’s capabilities and our user experience, we have divided development efforts into two main working groups - Core and Evolution. Today, I am excited to announce that the next set of Core capabilities are ready to begin testing of our 12.1 release.

Before I provide more details on the extensive changes included in 12.1, I’d like to explain some of the reasoning behind the changes. It is frequently not immediately obvious to outside observers how many of these changes contribute toward the Evolution strategy, so it is helpful to review some of the challenges we’ve faced with our current governance and budgeting system, as well as the foundational capabilities we will need to support a system as complex as Evolution.

I am very proud of the progress we’ve made up through 12.0. We have established an incredibly powerful set of differentiators using our governance and blockchain-based funding model. We were the first cryptocurrency to recognize the now-obvious idea that transactional security is only one of a multitude of needs the network has - first by incentivizing full nodes and later by providing funding for other critical needs like development, marketing, legal, infrastructure, business partnerships, and so much more.

However, as could be expected, there are a number of flaws in the first iteration of the budgeting system. Let me provide just two examples. First, we’ve discovered the risks of multi-month proposals being defunded before completed. That might be acceptable in some situations, but we recognize the need in other cases for the network to be able to guarantee its commitments. Another example has been the lack of control proposal owners have once a proposal is submitted. When a proposal is no longer valid or needs to be changed or replaced, the owner is currently unable to cancel or even reduce the requested funding. We have managed to deal with most of the issues that have arisen so far, but clearly improvements are needed to make the entire system more effective.

Because 12.1 will fix many of these issues, it is understandable that many people immediately conclude (incorrectly) that we’ve been working on governance for the last few months, instead of working toward Evolution. While the benefits to our funding and governance mechanisms are very real, the real development focus has been on foundational elements needed to enable Dash Evolution. Enhanced governance and funding mechanisms are simply the first beneficiaries of this new capability, mainly because the underlying components were already built… 12.1 simply allows us to enhance them easily.

With that background, allow me to explain in greater detail what we’ve been building. 12.1 is really all about the delivering the foundational components of Dash Evolution in a new and improved network API interface known as Sentinel. 12.1 includes these changes and many other improvements for a brand new and improved user experience.

Sentinel enables massive flexibility when designing a decentralized application, including massive storage capacity, custom object creation capability, and friendly data query access through a normalized database (mysql in this case). To demonstrate the capabilities of this new type of software, we are going to implement simple governance contracts to start. After 12.1 is released we will begin creating new primitives for users, businesses, projects, milestones, reports, etc.

What does all this mean for the delivery of Dash Evolution? There are several main benefits. First, it will allow us to iterate software changes extremely rapidly. It also allows much greater flexibility in the types of objects and functionality we want to deploy. We will be able to query the network data with industry standard database and visualization tools so we can understand the activity taking place on the network. And finally, we will have the ability to support API functionality, a requirement for the third network tier.

Besides the changes required for Dash Evolution, we also have good news for masternode operators. We will now officially support masternodes which are directly ran from hardware wallets. Presently, masternodes are run from cold wallets, which are already quite secure. This new feature will allow our masternode operators an even higher security environment for their masternode collateral and infrastructure.

You will also notice a new theme engine, a new masternode GUI, and a rebranding of InstantX (now InstantSend) and DarkSend (now PrivateSend).

Thank you to everyone involved in helping develop 12.1!


Partial Changelog

  • Generic object storage (network primitives) with attached generic data format
  • Sentinel Implementation
  • UI enhancements
  • Masternode list with start/stop support
  • Merged upstream changes
  • Reset testnet
  • Improved flatfile storage mechanism for data
  • Cleaned up/Refactored InstantSend implementation
  • Masternodebroadcast raw function for hardware wallet support
  • Vote by alias for randomized, more private budget voting
  • Fixed lockup issues
  • New theme support (light theme)
  • Independant Dash icon depending on network and theme
  • Improved dash-syncing code
  • DS Speed Improvements
  • Rebranded Darksend to PrivateSend
  • Rebanded InstantX to InstantSend
  • Fancy new masternode-trezor wallet

Thx Udjin, Crowning, Tyler, Flare, TheLazier and everyone who contributed!


Wallet Updates

Here are some screenshots of the new improved experience.


J2SSHNHK7A_lUDxpujOe-eZx_EmLNehn4nQ4CkBb83ml9udjklqsxPzXVs6apXjzOU0ihtYWkxFTm8WZ0GCpcvhNn-DvgXTnQ7rtG1VroLx_o-sxqOceLir7yXtko3z3eg-sd-b5



LmtPTEOh8DyosrBKcYxiv_X1Z-omkgiQTVOAqwChB6fkCEUj_6m5EXV47b1gDVV8r3mXboyVQ1nO4QP2meYa93LUHBNlnQ1q2gsu_qH-t3Ynzd8Acp-TluOtIdjXLwpLmYfh4VfI
5Jpg4V92LLcWMjD3frYo1lkzqnVdItuezaj5mBtVCZcUft-MCE-UNxgVRlfNlrGynBt8n2URCCjCbEewh2_HYtsAw4zHwwvxEUW9161zikGC9oA9MT1Iv_fTh2QKZcxhu9EjLkEh




Masternode Hardware Wallet support

This highly anticipated feature allows masternode operators to start and stop their masternode from the Trezor hardware wallet. This allows us a great deal more security for our masternode operators to secure their highly valuable collateral.

** NOTE: This feature requires a trezor and our dash-electrum client. It's not available via the core-qt wallet **

For more information about how to use this, please see the guide here:

https://github.com/dashpay/electrum-dash/blob/develop/docs/masternodes.md

gsU2EhI08LDVWuV5PrifC_pdY73BhsEuuZsvbwK59x1UecabVkrTqzTSwAVsIWsTLWWXBUzUgvTK48GSzo96h0hI38B8rqfTBZ8XHgCrhp70LOFcw9gu4enioGZNPAwtrE7ncnbu



pFs9LHYgsN2fuSiG0-Dmp__j5Gsx8tyX0B8Y79Cotymc0LGiKRf4MjwOtEJlsGB9RYr8Gjy4Cq4XDHPbaFa-tHGSndsGgglMNwERkm85X4SIHDOWq11H9HYjPv-82M83SJVrbQ3X




Testnet Agenda


We’re opening testing to the public and are going to be testing everything in the following order:

  • Phase 1: Configuration / Syncing / Message Propagation
  • Phase 2: Normal Network Functionality (DS/IX)
  • Phase 3: Masternode Trezor Support
  • Phase 4: Enhanced Budget System | Sentinel
  • Phase 5: Pre-launch
  • Phase 6: Launch
Latest builds (git-1ceca7e) of v0.12.1.x branch

Linux --> https://dashpay.atlassian.net/builds/browse/DASHL-DEV-535/artifact/JOB1/gitian-linux-dash-dist/
Windows --> https://dashpay.atlassian.net/builds/browse/DASHW-DEV-484/artifact/JOB1/gitian-win-dash-dist/
MacOS X --> https://dashpay.atlassian.net/builds/browse/DASHM-DEV-492/artifact/JOB1/gitian-osx-dash-dist/
Raspberry --> https://dashpay.atlassian.net/builds/browse/DASHP-DEV-488/artifact/JOB1/gitian-RPi2-dash-dist/

Changelog:

- QT: right-click to start alias in "My Masternodes": https://github.com/dashpay/dash/pull/786
- QT: fix truncation in Masternodes tab: https://github.com/dashpay/dash/pull/787
- DB: fix FlatDB: https://github.com/dashpay/dash/pull/785
- fix voting: https://github.com/dashpay/dash/pull/783

Testnet tools (explorers, faucets, pools) --> https://www.dash.org/forum/threads/testnet-tools-resources.1768/
Please direct your bugreporting to: https://github.com/dashpay/dash/issues/new
 
Last edited:
@flare @UdjinM6 : since you manage our transifex account: we should start and coordinate the translations, there's a lot of new strings to translate which must be uploaded to transifex.

  • I'll do (as always) the German translation
  • Russian: Udjin I guess
  • ...
  • ...
 
Hey All :),
I have two questions:

1. Is Trezor going to work with the core wallet now? Is that right? I'm confused.
2. Can someone please dumb it down and explain sentinel to me? I remember reading the white paper and I still don't get it.

Thanks in advance,
Pablo.
 
Portuguese transifex volunteer here!

Masternode tab not showing for me - v0.12.1.0-1ceca7e ... I believe Splawik has the same issue

lcGxBZO.png
 
Hey All :),
I have two questions:

1. Is Trezor going to work with the core wallet now? Is that right? I'm confused.
2. Can someone please dumb it down and explain sentinel to me? I remember reading the white paper and I still don't get it.

Thanks in advance,
Pablo.
I can try to answer #1 - trezor is working with electrum which in its turn should now utilize new dashd ability to relay masternode broadcast messages signed elsewhere i.e. you should be able to start masternode from electrum wallet.

Portuguese transifex volunteer here!

Masternode tab not showing for me - v0.12.1.0-1ceca7e ... I believe Splawik has the same issue

lcGxBZO.png
copy/paste from slack:
do you have masternode.conf with at least one legit record there?
if not it’s not shown by default but you can enable it in preferences -> wallet -> expert -> show masternode tab
 
@UdjinM6 So I will need to run both Dash-Qt and Electrum at the same time, sort of like armory? Or is electrum stand alone?

Pablo.
 
@UdjinM6 - sweet got the MN tab.

Just to report that in Linux the MN sub-tabs are justified left and not centered, unlike the OSx example above.

gUomLEh.png
 
@UdjinM6 So I will need to run both Dash-Qt and Electrum at the same time, sort of like armory? Or is electrum stand alone?

Pablo.
Electrum only but electrum server you are connecting to has to 1) run dashd 12.1+ 2) use electrum-dash-server latest code
 
Electrum only but electrum server you are connecting to has to 1) run dashd 12.1+ 2) use electrum-dash-server latest code

Ah cool. Now I just need to wrap my head around Sentinel :).

Pablo.
 
im getting this in console when i :masternode start


12:19:07

Not capable masternode: Invalid port: 9999 - 9999 is only supported on mainnet.


what is the testnet port ?
 
Oh boy that masternode tab is top :D

Mining, transactions and masternodes are working here, very fast sync congratulations to all involved!

Now the questions...

What does PRE_ENABLED status mean? Do I need to do something else?

Synchronizing additional data always stops at 75% QT windows 64 bit, on budget sync...
 
@UdjinM6
I tried add this report to git 3 times, and every time it was deleted immediately, dunno why, maybe word commandline is no good for git.

Help menu -> Commandline options -> instantx and darksend commands should be instantsend and privatesend.

wrongwords.png


Edit: WTF, now git show all 3 issue i made, how i can delete 2?
Edit2: closed 2.
Edit3: typo
 
Last edited:
Synchronizing additional data always stops at 75% QT windows 64 bit, on budget sync...
Same on Windows 2012 R2 x64, log:
Code:
2016-05-23 16:46:51 ProcessMessages(dstx, 1827 bytes): Exception 'CDataStream::read(): end of data' caught, normally caused by a message being shorter than its stated length
2016-05-23 16:46:51 ProcessMessages(dstx, 1827 bytes) FAILED peer=31
2016-05-23 16:46:55 CMasternodeSync::Process() - tick 2737 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:01 CMasternodeSync::Process() - tick 2743 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:07 CMasternodeSync::Process() - tick 2749 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:13 CMasternodeSync::Process() - tick 2755 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:19 CMasternodeSync::Process() - tick 2761 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:25 CMasternodeSync::Process() - tick 2767 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:31 CMasternodeSync::Process() - tick 2773 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:37 CMasternodeSync::Process() - tick 2779 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:43 CMasternodeSync::Process() - tick 2785 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:49 CMasternodeSync::Process() - tick 2791 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:47:55 CMasternodeSync::Process() - tick 2797 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:01 CMasternodeSync::Process() - tick 2803 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:07 CMasternodeSync::Process() - tick 2809 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:13 CMasternodeSync::Process() - tick 2815 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:19 CMasternodeSync::Process() - tick 2821 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:25 CMasternodeSync::Process() - tick 2827 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:27 dseg - Sent 1 Masternode entries to 94.23.248.61:19999
2016-05-23 16:48:27 dseg - Sent 1 Masternode entries to 188.226.161.128:19999
2016-05-23 16:48:27 dseg - Sent 1 Masternode entries to 178.62.203.249:19999
2016-05-23 16:48:27 dseg - Sent 1 Masternode entries to 95.85.48.49:19999
2016-05-23 16:48:27 dseg - Sent 1 Masternode entries to 162.243.59.230:19999
2016-05-23 16:48:31 CMasternodeSync::Process() - tick 2833 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:37 CMasternodeSync::Process() - tick 2839 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:43 CMasternodeSync::Process() - tick 2845 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:49 CMasternodeSync::Process() - tick 2851 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:48:51 ProcessMessages(dstx, 1827 bytes): Exception 'CDataStream::read(): end of data' caught, normally caused by a message being shorter than its stated length
2016-05-23 16:48:51 ProcessMessages(dstx, 1827 bytes) FAILED peer=24
2016-05-23 16:48:55 CMasternodeSync::Process() - tick 2857 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:01 CMasternodeSync::Process() - tick 2863 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:07 CMasternodeSync::Process() - tick 2869 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:13 CMasternodeSync::Process() - tick 2875 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:19 CMasternodeSync::Process() - tick 2881 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:25 CMasternodeSync::Process() - tick 2887 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:31 CMasternodeSync::Process() - tick 2893 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:37 CMasternodeSync::Process() - tick 2899 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:43 CMasternodeSync::Process() - tick 2905 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:49 CMasternodeSync::Process() - tick 2911 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:49:55 CMasternodeSync::Process() - tick 2917 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:50:01 CMasternodeSync::Process() - tick 2923 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:50:07 CMasternodeSync::Process() - tick 2929 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:50:13 CMasternodeSync::Process() - tick 2935 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:50:19 CMasternodeSync::Process() - tick 2941 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000
2016-05-23 16:50:25 CMasternodeSync::Process() - tick 2947 RequestedMasternodeAttempt 0 RequestedMasternodeAssets 4 nSyncProgress 0.750000

Dont know if anyone use traditional wallet skin, but:
aYIQQ2W.png

KqvGKb4.png
 
Status
Not open for further replies.
Back
Top