eduffield
Core Developer
Hello Everyone!
Development of v12 has been ongoing now for some time and we’re finally ready to begin public testing! All of the new features seem to work as far as we can test them in our development environment and now we’d like to start testing with more users.
There are lots of new features available and this document will serve as an initial guide on how to use these new features. As we release new versions, we will try to keep it updated and reflect the changes we are making.
Implementation and activation of the budgeting system
Per the result of the masternode vote, the governance and funding system will be activated with 10% of the rewards. This is coming out of the rewards that were originally planned for masternodes, emission and inflation remain the same. It will be activated and applied in 1 hard fork/spork.
Budgeting Software
v12 has two brand new commands for the network for our budgeting needs. mnbudget and mnfinalbudget.
mnbudget is used for the proposal system. You can send a proposal for the network to vote on, how many payments should be paid, the amount of payments and a good deal of meta data. The network uses a vote-by-hash system for security, so each masternode will enter all of the data needed to vote on a specific entry, which is then hashed. Any change to the meta data will cause the hashes not to match.
This will hash to 22a7fab3765b0aca926f71117114b5019ab616dda3d6bae520a27d76912228dd. Any change will create a new proposal for security reasons.
Showing the newly created budget:
After this anyone can vote on the proposals. The network will use the “Finalized Budget” logic automatically to consolidate the proposals into one object that will allow them to be paid at the end of the month. You can see these with “mnfinalbudget show”. For a proposal to make it into the finalized budget, it will require 10% of the masternode votes on mainnet. This should help combat masternode voting apathy, if masternodes don’t want something with that little support to be paid, they’ll have to vote on a competing proposal.
Budgets are paid each 50 blocks on testnet/regtest to allow us to make lots of changes and have many pay periods to test with. On mainnet it will be every 16616 blocks.
Reference Node
The reference node is officially gone! v12 seems to be working great from testing without it using quorums of masternodes to select the winning masternodes instead. You can see these votes by using the “masternode winners” command, which has a slightly different output now:
Masternode API
All masternode API commands now use the inputs as the main identifier and not the ip-address as they used to.
Sporks
We’ll have two new sporks, one for the budgeting system as a whole and one for the new masternode payment system.
Proposal Application
We’ve had a developer working on the proposal viewing/submission website now for a couple of months. It’s going great and we’ll open that application up for testing after we’re happy with the v12 software.
Downloads:
Linux32:
https://dashpay.atlassian.net/build...n-linux-dash-dist//dash-0.12.0-linux32.tar.gz
Linux64:
https://dashpay.atlassian.net/build...n-linux-dash-dist//dash-0.12.0-linux64.tar.gz
Mac:
https://dashpay.atlassian.net/build...n-osx-dash-dist//dash-0.12.0-osx-unsigned.dmg
Win32:
https://dashpay.atlassian.net/build...1/gitian-win-dash-dist//dash-0.12.0-win32.zip
Win64:
https://dashpay.atlassian.net/build...1/gitian-win-dash-dist//dash-0.12.0-win64.zip
Development of v12 has been ongoing now for some time and we’re finally ready to begin public testing! All of the new features seem to work as far as we can test them in our development environment and now we’d like to start testing with more users.
There are lots of new features available and this document will serve as an initial guide on how to use these new features. As we release new versions, we will try to keep it updated and reflect the changes we are making.
Implementation and activation of the budgeting system
Per the result of the masternode vote, the governance and funding system will be activated with 10% of the rewards. This is coming out of the rewards that were originally planned for masternodes, emission and inflation remain the same. It will be activated and applied in 1 hard fork/spork.
- This means that starting around july/august(depending on when we launch) there will be 8640 DASH available for budgeting per month (about $24000 currently) for the best ideas we can come up with to develop and grow the Dash ecosystem.
- The block reward will be lowered by 10% a week or two after the release of v12, in preparation for budget proposals however, the budget doesn’t have to use all of this funds if there are not proposals with community support the coins are just not minted.
- Budgets will be paid once per month in many consecutive blocks, 1 per approved proposal.
Budgeting Software
v12 has two brand new commands for the network for our budgeting needs. mnbudget and mnfinalbudget.
Code:
mnbudget - create or vote budget proposals:
Available commands:
vote-many - Vote on a Dash initiative
vote-alias - Vote on a Dash initiative
vote - Vote on a Dash initiative/budget
getvotes - Show current masternode budgets
getinfo - Show current masternode budgets
show - Show all budgets
mnfinalbudget - schedule and consolidate budget items into a finalized budget per month:
Available commands:
suggest - Suggest a budget to be paid
vote-many - Vote on a finalized budget
vote - Vote on a finalized budget
show - Show existing finalized budgets
mnbudget is used for the proposal system. You can send a proposal for the network to vote on, how many payments should be paid, the amount of payments and a good deal of meta data. The network uses a vote-by-hash system for security, so each masternode will enter all of the data needed to vote on a specific entry, which is then hashed. Any change to the meta data will cause the hashes not to match.
Code:
dash-cli NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN'
dash-cli mnbudget vote proposal-one http://www.dashpay.io/one.json 100 58381 y7B3r6SBi1E1RN39DS5WFJpdeS9EifDjMB 1000 yes
This will hash to 22a7fab3765b0aca926f71117114b5019ab616dda3d6bae520a27d76912228dd. Any change will create a new proposal for security reasons.
Showing the newly created budget:
Code:
dashc_t mnbudget show
{
"proposal-one" : {
"URL" : "http://www.dashpay.io/one.json",
"Hash" : "22a7fab3765b0aca926f71117114b5019ab616dda3d6bae520a27d76912228dd",
"BlockStart" : 58381,
"BlockEnd" : 63375,
"TotalPaymentCount" : 100,
"RemainingPaymentCount" : 100,
"PaymentAddress" : "y7B3r6SBi1E1RN39DS5WFJpdeS9EifDjMB",
"Ratio" : 1.00000000,
"Yeas" : 1,
"Nays" : 0,
"Abstains" : 0,
"Alloted" : 348214275,
"TotalBudgetAlloted" : 348214275
}
After this anyone can vote on the proposals. The network will use the “Finalized Budget” logic automatically to consolidate the proposals into one object that will allow them to be paid at the end of the month. You can see these with “mnfinalbudget show”. For a proposal to make it into the finalized budget, it will require 10% of the masternode votes on mainnet. This should help combat masternode voting apathy, if masternodes don’t want something with that little support to be paid, they’ll have to vote on a competing proposal.
Budgets are paid each 50 blocks on testnet/regtest to allow us to make lots of changes and have many pay periods to test with. On mainnet it will be every 16616 blocks.
Reference Node
The reference node is officially gone! v12 seems to be working great from testing without it using quorums of masternodes to select the winning masternodes instead. You can see these votes by using the “masternode winners” command, which has a slightly different output now:
Code:
"874" : "yKambaR3Gb5vXJCFrtGFfy1xG9kc6CnDhy:10000000000:0",
"875" : "yFwaockv34Cy3BHV7M3Bme4C1Vcq4jPpqH:4020000000:0",
"876" : "Unknown",
"877" : "Unknown",
Masternode API
All masternode API commands now use the inputs as the main identifier and not the ip-address as they used to.
Code:
masternode list:
{
"e466f5d8beb4c2d22a314310dc58e0ea89505c95409754d0d68fb874952608cc-5" : "ENABLED",
"e466f5d8beb4c2d22a314310dc58e0ea89505c95409754d0d68fb874952608cc-2" : "ENABLED",
}
Sporks
We’ll have two new sporks, one for the budgeting system as a whole and one for the new masternode payment system.
Proposal Application
We’ve had a developer working on the proposal viewing/submission website now for a couple of months. It’s going great and we’ll open that application up for testing after we’re happy with the v12 software.
Downloads:
Linux32:
https://dashpay.atlassian.net/build...n-linux-dash-dist//dash-0.12.0-linux32.tar.gz
Linux64:
https://dashpay.atlassian.net/build...n-linux-dash-dist//dash-0.12.0-linux64.tar.gz
Mac:
https://dashpay.atlassian.net/build...n-osx-dash-dist//dash-0.12.0-osx-unsigned.dmg
Win32:
https://dashpay.atlassian.net/build...1/gitian-win-dash-dist//dash-0.12.0-win32.zip
Win64:
https://dashpay.atlassian.net/build...1/gitian-win-dash-dist//dash-0.12.0-win64.zip
Last edited by a moderator: