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

Pre-Proposal: Would you like to be able to vote with number?

Would you like to be able to cast votes using numbers and extract the results as an average?


  • Total voters
    56
Status
Not open for further replies.
@UdjinM6 who coded the votes as enumeration? The votes as enumeration first appeared in 12.1 version and they remain as that in 12.2 too. This does not facilitate someone to code the numerical voting functionality for the (non stupid) Masternodes owners to be able to use. Au contraire, this code change raises a huge obstacle (especially for amateurs like me)

To solve this I may do this:

enum vote_outcome_enum_t {
VOTE_OUTCOME_NONE = 0,
VOTE_OUTCOME_YES = 1,
VOTE_OUTCOME_NO = 2,
VOTE_OUTCOME_ABSTAIN = 3,
VOTE_OUTCOME_NUMBER =4
};

Whenever a masternode vote outcome is casted (for example) as 15 , I will add 4 to the vote, make it 19, then when calculate the result I will substract 4 and make it 15 again. Or shall I use another code structure different than the enumeration? And how this structure can support the granularity I need? Numerical voting requires real numbers, not integers.

What do you suggest? Could you fix this, could you change this vote_outcome_enum_t to another class that may in the future support numerical voting? Have a look at the old structure (before 12.1). Straightforward isnt it? It was much more easy to get a numerical vote from a masternode that way. Why did you change this structure? Do you think that the spies entered into your mind (or into Evan's mind) and made you change this specific structure , in order to prevent numerical voting?
 
Last edited:
@UdjinM6 who coded the votes as enumeration? The votes as enumeration first appeared in 12.1 version and they remain as that in 12.2 too. This does not facilitate someone to code the numerical voting functionality for the (non stupid) Masternodes owners to be able to use. Au contraire, this code change raises a huge obstacle (especially for amateurs like me)
...
Hint: change "blob" to "blame" in url to see (some) related commits e.g. https://github.com/dashpay/dash/blame/v0.12.2.x/src/governance-vote.h#L19
But it doesn't really matter who coded this - discuss/attack the idea, not the person. If you still need the person though - I merged it. You are welcome :)

...
To solve this I may do this:

enum vote_outcome_enum_t {
VOTE_OUTCOME_NONE = 0,
VOTE_OUTCOME_YES = 1,
VOTE_OUTCOME_NO = 2,
VOTE_OUTCOME_ABSTAIN = 3,
VOTE_OUTCOME_NUMBER =4
};

Whenever a masternode vote outcome is casted (for example) as 15 , I will add 4 to the vote, make it 19, then when calculate the result I will substract 4 and make it 15 again. Or shall I use another code structure different than the enumeration? And how this structure can support the granularity I need? Numerical voting requires real numbers, not integers.

What do you suggest? Could you fix this, could you change this vote_outcome_enum_t to another class that may in the future support numerical voting? Have a look at the old structure (before 12.1). Straightforward isnt it? It was much more easy to get a numerical vote from a masternode that way. Why did you change this structure? Do you think that the spies entered into your mind (or into Evan's mind) and made you change this specific structure , in order to prevent numerical voting?
Old nodes won't recognize new votes with "4", so it's another major update anyway and thus I'd rather go with a bit cleaner/easier to codify structure like
Code:
// Note: keep votes values in sequence from min to max (no void places)
enum vote_outcome_enum_t  {
    VOTE_OUTCOME_NONE           = -9999,
    VOTE_OUTCOME_NO_STRONG      = -2,
    VOTE_OUTCOME_NO_WEAK        = -1,
    VOTE_OUTCOME_NO             = -1,
    VOTE_OUTCOME_ABSTAIN        = 0,
    VOTE_OUTCOME_YES            = 1,
    VOTE_OUTCOME_YES_WEAK       = 1,
    VOTE_OUTCOME_YES_STRONG     = 2,
    // VOTE_OUTCOME_MIN            = VOTE_OUTCOME_NO_STRONG,
    // VOTE_OUTCOME_MAX            = VOTE_OUTCOME_YES_STRONG,
    VOTE_OUTCOME_MIN            = VOTE_OUTCOME_NO, // adjust this if NO range is extended
    VOTE_OUTCOME_MAX            = VOTE_OUTCOME_YES, // adjust this if YES range is extended
}
This is a small part of the actual code I proposed in dev channel back then. So, it would start with status quo (yes/no/abstain) and would allow a more or less smooth transition to limited num-like voting in the future. But as you can see from the discussion here on forum, there was not enough support for this kind of feature, so the code was abandoned.

PS: this has nothing to do with "12.2 testing", moved
 
This is a small part of the actual code I proposed in dev channel back then. So, it would start with status quo (yes/no/abstain) and would allow a limited num-like voting in the future. But as you can see from the discussion here on forum, there was not enough support for this kind of feature, so the code was abandoned.
MNOs need to vote with bounded REAL NUMBERS. A limited num-like voting using integers is not very usefull. It does not offer the required granularity.
Do you have any other idea of a c++ structure that may be used for real numbers and at the same time be compatible with the dash code you have already written ?
 
Last edited:
MNOs need to vote with bounded REAL NUMBERS. A limited num-like voting using integers is not very usefull. It does not offer the required granularity.
Do you have any other idea of a c++ structure that may be used for real numbers and at the same time be compatible with the dash code you have already written ?
I don't really agree that a lot of granularity is required but anyway... you don't need another structure - int is 4 bytes, you can fit any reasonable granularity there with some additional encoding/decoding.
 
But as you can see from the discussion here on forum, there was not enough support for this kind of feature, so the code was abandoned.
Come on!!! You know how those things work, dont you? I will hire @amanda_b_johnson to advertise it, and then all stupid masternodes will want to vote the numbers.

Code:
// Note: keep votes values in sequence from min to max (no void places)
enum vote_outcome_enum_t  {
    VOTE_OUTCOME_NONE           = -9999,
    VOTE_OUTCOME_NO_STRONG      = -2,
    VOTE_OUTCOME_NO_WEAK        = -1,
    VOTE_OUTCOME_NO             = -1,
    VOTE_OUTCOME_ABSTAIN        = 0,
    VOTE_OUTCOME_YES            = 1,
    VOTE_OUTCOME_YES_WEAK       = 1,
    VOTE_OUTCOME_YES_STRONG     = 2,
    // VOTE_OUTCOME_MIN            = VOTE_OUTCOME_NO_STRONG,
    // VOTE_OUTCOME_MAX            = VOTE_OUTCOME_YES_STRONG,
    VOTE_OUTCOME_MIN            = VOTE_OUTCOME_NO, // adjust this if NO range is extended
    VOTE_OUTCOME_MAX            = VOTE_OUTCOME_YES, // adjust this if YES range is extended
}
This is a small part of the actual code I proposed in dev channel back then.

And where is the full code you proposed in the dev channel, back then?
Is it open source or not? Can you give me a url that points to it?
 
Last edited:
Come on!!! You know how those things work, dont you? I will hire @amanda_b_johnson to advertise it, and then all stupid masternodes will want to vote the numbers.




And where is the full code you proposed in the dev channel, back then?
Is it open source or not? Can you give me a url that points to it?
Here is what I have https://pastebin.com/jBmA8G5F, it's not enough for migration but it's a start for code cleanup and some basic preparations.
 
I am planning to enable "vote the numbers" as a spork.
Is the number of sporks limited?
Am I allowed by the code to assign a new spork number dedicated to the "vote the numbers" functionality?
No limits, just pick the next one (15)
 
Off course I am not an alt account. This is my only account in this forum, I have only 2 wallets, their address is in public view, and my whole crypto fortune is 1.5 Dash and 1.6 PIVX. I have not any other crypto, neither bitcoin, nor tezos, nor lightcoin, nor monero, nor decred. Nothing. Although I knew bitcoin and cryptos since the very beginning (2008), I am crypto-poor by choice.

Here is my answer to your above allegations.
 
Last edited:
Off course I am not an alt account. This is my only account in this forum, I have only 2 wallets, their address is in public view, and my whole crypto fortune is 1.5 Dash and 1.6 PIVX. I have not any other crypto, neither bitcoin, nor tezos, nor lightcoin, nor monero, nor decred. Nothing. Although I knew bitcoin and cryptos since the very beginning (2008), I am crypto-poor by choice.

Here is my answer to your above allegations.
Go ahead and read his "answer" as well as the entire thread before it. In fact, read ALL of his posts. He just said he has a very small stake in Dash, which means he has no real vested interest, and yet spend an inordinate amount of time here. But that time is spent in attempts to create discord and his own immoral policies.
 
Status
Not open for further replies.
Back
Top