V12 Testing Thread

Can someone pls describe in detail how we can add a budget proposal onto the Testnet blockchain ?

So far i tried the following :

- run dash-qt in servermode through command prompt and adding -server with following text in dash.conf :

testnet=1
rpcport=19998
rpcconnect=127.0.0.1
rpcuser=YRVERYOWNUNIQUEUSERNAME
rpcpassword=YRVERYOWNUNIQUEPASSWORD

- access dash-cli through command prompt

Within dash-cli or within dash-qt (in servermode) we can use two new commands now : mnbudget and mnfinalbudget

Looking at how Evan got his proposal into the blockchain :

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

i changed it into :

mnbudget vote proposal-qwizzie http://www.dashpay.io/one.json 100 74000 y5WWMBMxHsL5xmscwAyxUf2vfwMX58pprA 1000000 yes
(so i changed NAME, BLOCK_START and the AMOUNT)

in dash-qt in debug console i get following error : Error upon calling SetKey
in dash-cli adding dash-cli before above command i get : Error upon calling SetKey
(at least my error is consistant :rolleyes:)

Checking for budget proposals can be done with :

* in debug console of dash-qt running in server mode issue ''mnbudget show''
* calling dash-cli with command prompt issue ''dash-cli mnbudget show''

Results : no current budget proposals as that command gives following

{
}

This started me thinking abote this whole vote command, what if instead of "vote" we need to use "suggest'' in combination with the
mnfinalbudget ? Because really all i want to do is suggest a proposal and have that visible on the blockchain.

Unfortunetely the instructions dont include how to use the "suggest" command, both terminal and debug console mentions the following info
when i try to use "mnfinalbudget suggest" / "dash-cli mnfinalbudget suggest" to get some help :

Correct usage of suggest is 'mnfinalbudget suggest BUDGET_NAME PROPNAME [PROP2 PROP3 PROP4]' (code -1)

So i type the following in dash-qt / dasdh-cli :

dash-qt : mnfinalbudget suggest qwizzie_proposal1 Freeworldoffiat [NOIDEA2 NOIDEA3 NOIDEA4]
dash-cli : dash-cli mnfinalbudget suggest qwizzie_proposal1 Freeworldoffiat [NOIDEA2 NOIDEA3 NOIDEA4]

results : Invalid proposal Freeworldoffiat. Please check the proposal hash

I'm out of ideas here and could use some help.
 
Last edited by a moderator:
Suggestion:
When I send an instantX to myself it does not show (used to before)
And when I click the all/most common/darksend/etc tab in transactions there is no option to select and seperate out any InstantX transactions ??
 
dumb question but is it mandatory to have a test masternode running on a real server in order to propose MN budgets or is setting up a cold test masternode running in server mode enough ? (with 1000 tdash to null account and 15 confirmations)
 
Holy f .. masternode budget proposal worked with cold wallet setup running in server mode (didnt previously set it up as masternode at all)

Instructions : setup wallet as masternode, make payment of 1000 tdash to nullaccount and wait for 15 confirmations and run the wallet in server mode (run with -server),

Use following info in dash.conf :

testnet=1
rpcport=19998
rpcconnect=127.0.0.1
rpcuser=RANDOMUSERNAME
rpcpassword=RANDOMPASSWORD
daemon=1
logtimestamps=1
maxconnections=256
masternode=1
masternodeprivkey=YROWNMNPRIVKEY

Go to debug console and copy and paste :

mnbudget vote proposal-qwizzie http://www.dashpay.io/one.json 100 74000 y5WWMBMxHsL5xmscwAyxUf2vfwMX58pprA 1000000 yes
(change proposalname, walletaddress, amount to your liking first before copy and paste).
Press enter.

Type mnbudget getinfo yrownproposalname

sqPLxjZ.jpg
 
Last edited by a moderator:
i do wonder why my test proposal does not show up in mnbudget show ... maybe it only shows after block 74000 ?
 
hah, why is that?? :what:

moli hmmm, you can't actually mix in local masternode mode at all, I was wrong about that one :oops:

so the only scenario I can see now is "another" I described earlier (importing priv keys in additional wallet) which I think is 1) quite rare, 2) used by advanced users who can import private keys so should be aware of what are they doing. In that case it's quite safe to disable protection of unlocked MN-like outputs (outputs mentioned in masternode.conf are locked automatically on wallet start).
Or am I missing even another scenario?
What do you think?

PS. edited my previous post too.
I'm not sure... Maybe:
1. DS is disabled if the wallet has a MN, or
2. DS is not disabled when the wallet has a MN, but code to make DS know that this specific 1000 DASH is a MN, or
3. 1000 still can't be a valid input for DS but have a loud warning to let users know..
 
My first original budget proposal, masternode setup with tdash 1000 and 15 confirmations :

zCJEqCa.jpg


My second fake budget proposal using another cold setup masternode in server mode with same budget proposal as original but with different Dash walletaddress and
with only 499 tdash transferred to null-account, confirmed only 10 times. Total balance only tdash 499

4vg7lK7.jpg


Why is that fake masternode / budget proposal getting accepted / provided with a hash and is there a problem here or not ? See also difference in Alloted between original and fake budget proposal, what exactly does this mean ?

edit : the fake budget proposal and the orginal budget proposal are both not regnoniced anymore

y2lrG0g.jpg


Entered a new budget proposal with a more reasonable amount :

aHcVyQt.jpg
 
Last edited by a moderator:
Holy f .. masternode budget proposal worked with cold wallet setup running in server mode (didnt previously set it up as masternode at all)

Instructions : setup wallet as masternode, make payment of 1000 tdash to nullaccount and wait for 15 confirmations and run the wallet in server mode (run with -server),

Use following info in dash.conf :

testnet=1
rpcport=19998
rpcconnect=127.0.0.1
rpcuser=RANDOMUSERNAME
rpcpassword=RANDOMPASSWORD
daemon=1
logtimestamps=1
maxconnections=256
masternode=1
masternodeprivkey=YROWNMNPRIVKEY

Go to debug console and copy and paste :

mnbudget vote proposal-qwizzie http://www.dashpay.io/one.json 100 74000 y5WWMBMxHsL5xmscwAyxUf2vfwMX58pprA 1000000 yes
(change proposalname, walletaddress, amount to your liking first before copy and paste).
Press enter.

Type mnbudget getinfo yrownproposalname

sqPLxjZ.jpg
Thank you so much! Gonna try playing with this soon!
 
maybe best to keep the budget proposals on 1000 for now, with setting the amount too high you might end up getting it rejected as something got my original budget proposal rejected (i used amount 1000000).

edit : oh .. and you are all free to vote on my new budget proposal worldwithoutfiat :wink:
 
Last edited by a moderator:
I sent couple of coins on different address and the mixing started beautifully :) all clients are mixing and the progress is quite smooth :cool:
 
quizzie, could you please elaborate on what the following mean?:

mnbudget vote proposal-NameOfProposal = OK, got that :)

http://www.dashpay.io/one.json
= website where proposal forum goes? or what? and did you come up with the name "one"?

100 is what?

74000 is the block where proposal is submitted?

1000000 is what? is actual budget (in dollars or coins?)

yes is what? just a trigger? Kind of seems redundant, LOL

Thanks, I just don't know code and can't figure it out like you did ;P
 
Last edited by a moderator:
Observations:

So if one needs a masternode to propose something, then a random programmer can't come in and propose something without first getting a masternode owner to insert it into the system for him. Or?

Maybe it isn't supposed to require a masternode to propose something? Looks to me like there are 2 problems (unless solved already):
1. Masternode required to submit a proposal, creating a barrier to entry.
2. Anyone can propose a project, but this opens the system up to attack via flooding the system with proposals.

Possible solution would be to require collateral again (like the masternodes) for a proposal of something not so big, like 10 coins. But that still creates a barrier to entry, which isn't desirable.
 
quizzie, could you please elaborate on what the following mean?:[/qote]

mnbudget vote proposal-NameOfProposal = OK, got that :)

http://www.dashpay.io/one.json
= website where proposal forum goes? or what? and did you come up with the name "one"? --> Evan used that site, it will store all budget proposals in JSON format

100 is what? --> Payment count (not sure exactly, i assume you start initially with 100 tdash)

74000 is the block where proposal is submitted? --> yes, block start

1000000 is what? --> amount, better set that to 1000, see my later post

yes is what? just a trigger? Kind of seems redundant, LOL --> yes is yr vote, this registers yr proposal with 1 yes vote (yr own)

Thanks, I just don't know code and can't figure it out like you did ;P tbh i dont know code that well either but i'm glad i can help out


dash-cli NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN'
 
Thanks Quizzie!

Do you know if the amount is in dash or dollars? AT some point they were talking about setting the amount to fiat and that way, if the coins go up or down in value, the proposal will still be paid appropriately?
 
well, i know the escrew proposal was cancelled and things were put in megablocks or something .. i assume it will be in Dash.

edit : found the link and it looks to be in US dollars
its .. complicated. Its starts with US Dollars, calculates that into corresponding Dash payouts and throws in a spork to arrive at the correct US dollar rate ?

https://dashtalk.org/threads/vote-s...vernance-by-blockchain.4825/page-4#post-53665

Maybe good for all to read as refreshment :

From Evan date 8th of may 2015:

An Update To The Proposal

It dawned on me how to update the existing system to get the best of both worlds a fully decentralized system that pays exact amounts directly from the blockchain. We also figured out how to improve the decentralization of the proposal viewing application, so that anyone can run one of these websites independently of each other without having to copy data around. Between these two improvements, the initial version of the budgeting software will be highly decentralized and without any escrow account.

Proposal Website Decentralization


Anyone can start off a proposal by submitting it from a masternode. The data required consists of ProposalName, ProposalURL, PaymentCount, StartingBlock, PaymentAddress and PaymentAmountUSD. The ProposalURL is a json object with a ShortDescription, LongDescription, PDFURL and any other fields that are required to show users.
The site will be able to show this information, something like “mnbudget show”, which will return the following:
{
"one" : {
"URL" : "http://www.dashpay.io/proposals/one.txt",
"BlockStart" : 1000,
"BlockEnd" : 24922,
"PaymentCountTotal" : 1,
"PaymentCountLeft" : 1,
"PaymentAddress" : "yDrdpBqfExiGbssu388t2k3N3de2KsWeNN",
"Ratio" : 1.00000000,
"Yeas" : 1,
"Nays" : 0,
"Abstains" : 0,
"Alloted" : 7500000000,
"TotalBudgetAlloted" : 7500000000
}
}
It will pull down the url and cache all of the information in a database. Notice proposal administrators must host the json object with the data about the proposal, this allows highly decentralized storage of the information in the proposals. Users can then register on the website, then post comments about proposals.
To allow people to submit proposals from these proposal websites, the website will have access to a masternode, that can submit it for the users. This means we’ll have a very friendly website for building these json files, which can show drafts to the community. Once a draft has been finalized, it can be submitted. After it’s submitted, this is non-reversible and these fields can’t be modified without losing all votes.

Removal Of The Reference Node


It’s a high priority to ship the first version with no reference node. We’re going to use masternode quorums to select the payee of each block. This means that 10 of 2500 masternodes will randomly be selected to have a task of voting who they think should get paid each block. We’re going to use a deterministic algorithm to select the payee, so all nodes should come to same conclusion.

How The Network Will Pay Proposals


To remove the escrow account and pay exact amounts we can use a spork to send the current USD value of DASH to the network. This process can be decentralized later, but is out of scope for the initial version. After the network has the correct value to use, we can then reduce the blockreward of all blocks by 10% and at the end of the cycle the network can pay the proposals their exact own amounts using very large blocks, which will catch it up with the required block reward.
Here’s an example of what this will look like, let’s say we have this budget and a $3 DASH price:
PropOne, Reward $8000
PropTwo, Reward $8000
PropThree, Reward $5000
PropFour, Reward $4000
PropFive, Reward $900
Total $25900 (Total budget is $25920.00 at 10%, notice there’s $20 left over)
we’ll use a static block reward of 5 for simplicity:
Block 300,000 - Miner reward 2.47, Masternode payee 2.025 (a total reward of 4.5, when the target reward is 5)
… 17280 blocks pass (1 month) ...
Block 317280 - Miner reward 2.47, PropOne payee 2666.66DASH
Block 317281 - Miner reward 2.47, PropTwo payee 2666.66DASH
Block 317282 - Miner reward 2.47, PropThree payee 1666.66DASH
Block 317283 - Miner reward 2.47, PropFour payee 1333.33DASH
Block 317284 - Miner reward 2.47, PropFive payee 300.00DASH
 
Last edited by a moderator:
well, i know the escrew proposal was cancelled and things were put in megablocks or something .. i assume it will be in Dash.

edit : found the link and it looks to be in US dollars
its .. complicated. Its starts with US Dollars, calculates that into corresponding Dash payouts and throws in a spork to arrive at the correct US dollar rate ?

https://dashtalk.org/threads/vote-s...vernance-by-blockchain.4825/page-4#post-53665

Maybe good for all to read as refreshment :

From Evan date 8th of may 2015:

An Update To The Proposal

It dawned on me how to update the existing system to get the best of both worlds a fully decentralized system that pays exact amounts directly from the blockchain. We also figured out how to improve the decentralization of the proposal viewing application, so that anyone can run one of these websites independently of each other without having to copy data around. Between these two improvements, the initial version of the budgeting software will be highly decentralized and without any escrow account.

Proposal Website Decentralization


Anyone can start off a proposal by submitting it from a masternode. The data required consists of ProposalName, ProposalURL, PaymentCount, StartingBlock, PaymentAddress and PaymentAmountUSD. The ProposalURL is a json object with a ShortDescription, LongDescription, PDFURL and any other fields that are required to show users.
The site will be able to show this information, something like “mnbudget show”, which will return the following:
{
"one" : {
"URL" : "http://www.dashpay.io/proposals/one.txt",
"BlockStart" : 1000,
"BlockEnd" : 24922,
"PaymentCountTotal" : 1,
"PaymentCountLeft" : 1,
"PaymentAddress" : "yDrdpBqfExiGbssu388t2k3N3de2KsWeNN",
"Ratio" : 1.00000000,
"Yeas" : 1,
"Nays" : 0,
"Abstains" : 0,
"Alloted" : 7500000000,
"TotalBudgetAlloted" : 7500000000
}
}
It will pull down the url and cache all of the information in a database. Notice proposal administrators must host the json object with the data about the proposal, this allows highly decentralized storage of the information in the proposals. Users can then register on the website, then post comments about proposals.
To allow people to submit proposals from these proposal websites, the website will have access to a masternode, that can submit it for the users. This means we’ll have a very friendly website for building these json files, which can show drafts to the community. Once a draft has been finalized, it can be submitted. After it’s submitted, this is non-reversible and these fields can’t be modified without losing all votes.

Removal Of The Reference Node


It’s a high priority to ship the first version with no reference node. We’re going to use masternode quorums to select the payee of each block. This means that 10 of 2500 masternodes will randomly be selected to have a task of voting who they think should get paid each block. We’re going to use a deterministic algorithm to select the payee, so all nodes should come to same conclusion.

How The Network Will Pay Proposals


To remove the escrow account and pay exact amounts we can use a spork to send the current USD value of DASH to the network. This process can be decentralized later, but is out of scope for the initial version. After the network has the correct value to use, we can then reduce the blockreward of all blocks by 10% and at the end of the cycle the network can pay the proposals their exact own amounts using very large blocks, which will catch it up with the required block reward.
Here’s an example of what this will look like, let’s say we have this budget and a $3 DASH price:
PropOne, Reward $8000
PropTwo, Reward $8000
PropThree, Reward $5000
PropFour, Reward $4000
PropFive, Reward $900
Total $25900 (Total budget is $25920.00 at 10%, notice there’s $20 left over)
we’ll use a static block reward of 5 for simplicity:
Block 300,000 - Miner reward 2.47, Masternode payee 2.025 (a total reward of 4.5, when the target reward is 5)
… 17280 blocks pass (1 month) ...
Block 317280 - Miner reward 2.47, PropOne payee 2666.66DASH
Block 317281 - Miner reward 2.47, PropTwo payee 2666.66DASH
Block 317282 - Miner reward 2.47, PropThree payee 1666.66DASH
Block 317283 - Miner reward 2.47, PropFour payee 1333.33DASH
Block 317284 - Miner reward 2.47, PropFive payee 300.00DASH

I fear I scanned that when it came out and never went back to read it deeper, LOL.

Still wonder who will sit around as a masternode owner and service people by submitting proposals for them? It sounds like the first barrier to entry, if you don't have a MN, is to convince someone to insert your proposal for you.

On the other hand, if proposals don't cost the masternode owner anything and are independent (that is, MN owner isn't responsible for them), I'm sure there are many MN owners more than willing to help out :)
 
Here is mine:

mnbudget vote proposal-VerltgaatMachine http://www.steemjammer.com/Steam.json 3 70900 xxNLjkB8gmBUnUrbuyABGJtsNsYSrqPpwj 3500 yes


Then I checked on it:

mnbudget getinfo proposal-Verltgaat


{
"Name" : "proposal-Verltgaat",
"Hash" : "6720b3f64d860a3aa77a2e539affc0a5195278f7008d4420421f3fa21c5791ba",
"URL" : "http://www.steemjammer.com/Steam.json",
"BlockStart" : 70900,
"BlockEnd" : 71075,
"TotalPaymentCount" : 3,
"RemainingPaymentCount" : 8,
"PaymentAddress" : "xxNLjkB8gmBUnUrbuyABGJtsNsYSrqPpwj",
"Ratio" : 1.00000000,
"Yeas" : 1,
"Nays" : 0,
"Abstains" : 0,
"Alloted" : 73014444048
}



I'm curious about the total payment count, where I asked for 3 it says 3, but then the remaining payment count says 8

How's that?

Also, I have to choose a block start, that when I want payments to start, right? If this were real, I would be trying to get all my votes in by that point, right? Maybe that should be entered once the project is fully hashed out and been approved? Otherwise there would be either a time squeeze to approve the project, or the project manager could be paid before any work is done - if payment block passed and retro-payments are possible? Or the payment could be lost due to the block having passed already before final approval.
 
Here is mine:

mnbudget vote proposal-VerltgaatMachine http://www.steemjammer.com/Steam.json 3 70900 xxNLjkB8gmBUnUrbuyABGJtsNsYSrqPpwj 3500 yes


Then I checked on it:

mnbudget getinfo proposal-Verltgaat


{
"Name" : "proposal-Verltgaat",
"Hash" : "6720b3f64d860a3aa77a2e539affc0a5195278f7008d4420421f3fa21c5791ba",
"URL" : "http://www.steemjammer.com/Steam.json",
"BlockStart" : 70900,
"BlockEnd" : 71075,
"TotalPaymentCount" : 3,
"RemainingPaymentCount" : 8,
"PaymentAddress" : "xxNLjkB8gmBUnUrbuyABGJtsNsYSrqPpwj",
"Ratio" : 1.00000000,
"Yeas" : 1,
"Nays" : 0,
"Abstains" : 0,
"Alloted" : 73014444048
}



I'm curious about the total payment count, where I asked for 3 it says 3, but then the remaining payment count says 8

How's that?

Also, I have to choose a block start, that when I want payments to start, right? If this were real, I would be trying to get all my votes in by that point, right? Maybe that should be entered once the project is fully hashed out and been approved? Otherwise there would be either a time squeeze to approve the project, or the project manager could be paid before any work is done - if payment block passed and retro-payments are possible? Or the payment could be lost due to the block having passed already before final approval.

With regards to the URL, you can also just use the Dash website (http://www.dashpay.io/one.json) its specifically setup there as JSON solution for everyone to use freely,
The results (which you posted above) should then be shared online by the budget proposal initiator on the forums. In the end there will be a Dash site where people can register and actively discuss your proposal (not implemented yet i think).

RemainingPaymentCount : 8 --> strange .. not sure what to think of it as you set it up with 3
Blockstart --> i think at first i tried it with blockstart in the past and was actually informed by the system to use a block height allocated to budget proposals (in my case 74000)
 
during the mixing I noticed that in coin control some of the amount get the lock and some not.... what does it depends from? - the lock is on the denominations sums....
 
the budget proposals of mine keep disappearing after awhile, command mnbudget getinfo worldwithoutfiat shows Unknown proposal name now.
Darksend mixing on the other hand goes well ..
 
Back
Top