Author

Topic: [ANN][DASH] Dash (dash.org) | First Self-Funding Self-Governing Crypto Currency - page 1419. (Read 9723748 times)

legendary
Activity: 3066
Merit: 1188
Does DASH Evolution solve this problem?

https://www.youtube.com/watch?v=J52AM5SrOHw

I don't think so.

He's talking about mining centralisation which affects all POW coins.
member
Activity: 70
Merit: 10
I would not buy now,wait a bit more 0,0061 is in sight. Huh
legendary
Activity: 1372
Merit: 1005
DASH is the future of crypto payments!
LOL !!!!!
Someone is dumping hard!
sr. member
Activity: 460
Merit: 250
Is it possible to integrate Ethereums contract system code into DASH and its masternode system, similar to the way counterparty has done?

 Counterparty is token based system overlaying Bitcoin. That is why you can with Counterparty. Since we have the same codebase, I don't see why not. But this is no way a 100% sure answer. I'd like to know as well.

Working on it Smiley

Hey dihydrogenmonoxide

Just wondering how the Ethereum/DASH integration is going :-)
full member
Activity: 220
Merit: 100
Saturday evening hack

Somebody was asking if dashman could check the status of all the masternodes in
masternode.conf, so I built a quick python script for checking if your
masternodes are listed in the output of 'masternode list full'

Just change the top two lines to match your dash-cli and masternode.conf
locations. NOTE: You can run this from any wallet (no funds required), just
copy your masternode.conf over to the host.

Enjoy!


https://gist.github.com/moocowmoo/4da0a42f72c1760f05f5

Code:
#!/usr/bin/python

""" simple 'masternode list full' health check """

my_dash_cli = "/home/ubuntu/.dash/dash-cli"
my_mn_conf = "/home/ubuntu/.dash/masternode.conf"


from subprocess import check_output


def run_command(cmd):
    return check_output(cmd, shell=True)


def skip_comments_and_blank(file):
    for line in file:
        line = line.rstrip("\n")
        if line.startswith("#") or not line:
            continue
        yield line


def get_masternodes_from_conf():
    nodes = {}
    with open(my_mn_conf, "r") as f:
        for line in skip_comments_and_blank(f):
            (alias, ip, privkey, vin, n) = line.rstrip("\n").split()
            nodes[vin + '-' + n] = {
                'alias': alias,
                'ip': ip,
                'privkey': privkey,
                'vin': vin,
                'n': n
            }
        return nodes


def get_masternodes_from_dashd():
    nodes = {}
    cmd = " ".join([my_dash_cli, 'masternode list full'])
    node_list = run_command(cmd)
    for line in node_list.split("\n"):
        line = line.translate(None, ''.join('"{}'))
        if not line:
            continue
        (ftx, nop, status, protocol, address, ip,
         last_seen, active, last_paid) = line.split()
        (vin, n) = ftx.split('-')
        nodes[ftx] = {
            'vin': vin,
            'n': n,
            'status': status,
            'protocol': protocol,
            'address': address,
            'ip': ip,
            'last_seen': last_seen,
            'active': active,
            'last_paid': last_paid
        }
    return nodes


def main():
    my_masternodes = get_masternodes_from_conf()
    masternode_list = get_masternodes_from_dashd()

    for my_node in sorted(my_masternodes,
                          key=lambda k: my_masternodes[k]['alias']):
        if my_node in masternode_list:
            if masternode_list[my_node]['status'] == 'ENABLED':
                print (my_masternodes[my_node]['alias'] +
                        " ONLINE - in masternode list")
            else:
                print (my_masternodes[my_node]['alias'] +
                        " OFFLINE -- NOT ENABLED")
        else:
            print (my_masternodes[my_node]['alias'] +
                    " OFFLINE -- NOT IN MASTERNODE LIST")

if __name__ == "__main__":
    main()



thanks moocowmoo
I will change to your python file to monitor masternode.  

I used shell file using txid.
echo mn01
~/.dash/dash-cli  masternodelist rank 004c9
echo mn02
~/.dash/dash-cli  masternodelist rank 00acc


I want to have monitoring "dashd" every 5 minute.
And if dashd killed, run dashd automatically.
save following code "actmn"

#!/bin/sh
#=======================================================#
 # while
#=======================================================#
while true
 do
 ps_exist_cnt=`ps -ea | grep "dashd" | grep -v grep | wc -l`
 if [ $ps_exist_cnt -eq 0 ];then
 /home/ubuntu/.dash/dashd &
 fi
 sleep 300
 done


-----------------------
backgroud run
chmod +x actmn
nohup ./actmn &


Is this proper solution?
sr. member
Activity: 460
Merit: 250
Does DASH Evolution solve this problem?



https://www.youtube.com/watch?v=J52AM5SrOHw

Edit: added image
sr. member
Activity: 263
Merit: 250
bovine quadruped, professional loafer, dash dev
Saturday evening hack

Somebody was asking if dashman could check the status of all the masternodes in
masternode.conf, so I built a quick python script for checking if your
masternodes are listed in the output of 'masternode list full'

Just change the top two lines to match your dash-cli and masternode.conf
locations. NOTE: You can run this from any wallet (no funds required), just
copy your masternode.conf over to the host.

Enjoy!


https://gist.github.com/moocowmoo/4da0a42f72c1760f05f5

Code:
#!/usr/bin/python

""" simple 'masternode list full' health check """

my_dash_cli = "/home/ubuntu/.dash/dash-cli"
my_mn_conf = "/home/ubuntu/.dash/masternode.conf"


from subprocess import check_output


def run_command(cmd):
    return check_output(cmd, shell=True)


def skip_comments_and_blank(file):
    for line in file:
        line = line.rstrip("\n")
        if line.startswith("#") or not line:
            continue
        yield line


def get_masternodes_from_conf():
    nodes = {}
    with open(my_mn_conf, "r") as f:
        for line in skip_comments_and_blank(f):
            (alias, ip, privkey, vin, n) = line.rstrip("\n").split()
            nodes[vin + '-' + n] = {
                'alias': alias,
                'ip': ip,
                'privkey': privkey,
                'vin': vin,
                'n': n
            }
        return nodes


def get_masternodes_from_dashd():
    nodes = {}
    cmd = " ".join([my_dash_cli, 'masternode list full'])
    node_list = run_command(cmd)
    for line in node_list.split("\n"):
        line = line.translate(None, ''.join('"{}'))
        if not line:
            continue
        (ftx, nop, status, protocol, address, ip,
         last_seen, active, last_paid) = line.split()
        (vin, n) = ftx.split('-')
        nodes[ftx] = {
            'vin': vin,
            'n': n,
            'status': status,
            'protocol': protocol,
            'address': address,
            'ip': ip,
            'last_seen': last_seen,
            'active': active,
            'last_paid': last_paid
        }
    return nodes


def main():
    my_masternodes = get_masternodes_from_conf()
    masternode_list = get_masternodes_from_dashd()

    for my_node in sorted(my_masternodes,
                          key=lambda k: my_masternodes[k]['alias']):
        if my_node in masternode_list:
            if masternode_list[my_node]['status'] == 'ENABLED':
                print (my_masternodes[my_node]['alias'] +
                        " ONLINE - in masternode list")
            else:
                print (my_masternodes[my_node]['alias'] +
                        " OFFLINE -- NOT ENABLED")
        else:
            print (my_masternodes[my_node]['alias'] +
                    " OFFLINE -- NOT IN MASTERNODE LIST")

if __name__ == "__main__":
    main()

legendary
Activity: 1456
Merit: 1000
What you don't take into account is that in oficial election the 50%+1 don't take in account the abstain and blank vote.
Anyway I don't think this apply for our system.

72h + 20% have my vote too.

Yes, the 50% vs 10/20% boils down to how the abstain votes are handled...

with a >=50% system:
1750:1250 pass
2000:200 pass
1500:1000 fail
750:0 fail

with a +20% system:
1750:1250 fail
2000:200 pass
1500:1000 fail
750:0 pass

I would personally prefer a low-turnout vote like 750:0 to fail rather than pass... and a high turnout vote like 1750:1250 to pass rather than fail... just my 2 cents

It doesn't really look like Abstain is used much actually. Unless there's a bug or something?

Quote
./dash-cli mnbudget show | grep Abs
        "Abstains" : 0,

By Abstain, I meant, "did not vote yes or no", rather than actually voting to Abstain (I didn't even know that was an official option)...

I feel that if there are only 1400/3400 MNs voting, it is because the vote was only open for 3 days, and they did not see it, rather than chose not to vote...

I think if you have a vote open for 14 days instead of 3, you will see a higher turnout...

One budget had over 2000 yes votes, so we know there are at least that many MNs (votes) wanting to participate...

i think total vote should be >50% and  "yes" > "no"  because MN owner can change their decision at any time while the vote is open. and proposal could be discussed to attract more vote.



newbie
Activity: 25
Merit: 0
What you don't take into account is that in oficial election the 50%+1 don't take in account the abstain and blank vote.
Anyway I don't think this apply for our system.

72h + 20% have my vote too.

Yes, the 50% vs 10/20% boils down to how the abstain votes are handled...

with a >=50% system:
1750:1250 pass
2000:200 pass
1500:1000 fail
750:0 fail

with a +20% system:
1750:1250 fail
2000:200 pass
1500:1000 fail
750:0 pass

I would personally prefer a low-turnout vote like 750:0 to fail rather than pass... and a high turnout vote like 1750:1250 to pass rather than fail... just my 2 cents

It doesn't really look like Abstain is used much actually. Unless there's a bug or something?

Quote
./dash-cli mnbudget show | grep Abs
        "Abstains" : 0,

By Abstain, I meant, "did not vote yes or no", rather than actually voting to Abstain (I didn't even know that was an official option)...

I feel that if there are only 1400/3400 MNs voting, it is because the vote was only open for 3 days, and they did not see it, rather than chose not to vote...

I think if you have a vote open for 14 days instead of 3, you will see a higher turnout...

One budget had over 2000 yes votes, so we know there are at least that many MNs (votes) wanting to participate...
IMO,
Masternode owners can vote yes/no on propersal and can switch their vote anytime as well. If masternode owner acknowledge the proposal and would like to vote because the amount of budget is hugh but still study in details, please vote No first to show that you are not satisfy yet. Later after you got answers and agree with propersal, you can vote yes. This should be able to do without troubles with changing current behavior of network.
For changing the voting behavior please continue debates and finalize by create proposal for voting , I believe we will see how the network decide.
Lastly, I guess your messages and idea posted here would get lost since many ppl will not follow to read all pages of this thread while the thread is growing fast and the topics are vary. Dashtalk forum could be a good place to keep your idea/topic for nice discussion.

 Cool
legendary
Activity: 3066
Merit: 1188

For example, here in the UK, Scotland had a referendum in 2014 on whether to stay part of the UK or gain independence. The participation rate was close to 85%! This was astonishing and broke all records for any democratic vote in the UK by some margin. The only reason it was so high was because it was a fundamental decision that really did affect ALL voters. Even then, if we applied the 'absolute majority' principle in this scenario the 'NO vote' would only have accounted for 45% of the total electorate so wouldn't have passed and the 'YES vote' would only have achieved 35% of the total so neither would have 'passed' rendering the whole process pointless.

Good example !

We also had one in 1979 where an electoral majority rule WAS applied and overturned the result of the referendum. The only reason that rule was put in place was as a concession by the limping Callaghan UK government to keep them in power. That set off a huge chain reaction:

 - Scotland didn't get the parliament it had voted for and we had to wait another 20 years for it
 - the Scottish nationals in the British parliament didn't support the incumbent Labour administration at the next confidence vote, so they got kicked out anyway
 - it opened the doors for Mrs Thatcher who brought sweeping devastation to all known manufacturing and mining activity of the day in the name of liberating "market forces", (the same 'market forces" that happily engorged themselves on cheap public assets and then threw up all over the banking system a decade later)

Ergo: For a quiet life, just let a majority be a majority  Wink

  <--- Not passed
hero member
Activity: 588
Merit: 500
Evan does not own 500+ nodes. Otoh our largest investor currently owns about 430 nodes as he divested a big portion of his nodes in favor of more distribution and a healthier network, also giving new whales the opportunity to buy in.  Having said that, I don't see why the minimum age for a proposal could not be changed to 48 or 72 hours to always give the network more time. I think that is a really good suggestion.

How would you know?

I ran the numbers 6 months ago, but I estimated Evan should have mined 750,000+ in the first 24-48 hours with the hashrate he himself claimed to have at the time... that's 750MNs already... (not that he necessarily has them online right now)

Then they start collecting 50% of the mining share as masternodes, he should have 1000+ by now...

Yeah, your numbers are off and Minotaur is correct. I do not hold as many coins as Otoh. The system is designed in such a way that the founders eventually lose complete control of the voting system. It's on purpose, we are the ones that have the best idea of what needs to be done currently, but over the next few years our voting power will become less and less.

Look at the emission schedule here:
https://docs.google.com/spreadsheets/d/1RpLd87PTs65sz8USrrXwGRoVGVbzaC-nunErEtGSJoE/edit#gid=0

55% of the coins are going to people other than the masternodes (miners and budgets), that means a good portion of those will actually be turned into fresh masternodes. Over a long period of time this will dilute our power in the system.

In 2020 we will have nearly 10 million coins and probably about 7000 masternodes (Just a guess based on current trends).
In 2025 we will have nearly 12 million coins and probably about 9000 masternodes.

You should be able to see where I'm going. Those with a many masternodes can't even keep control of this if they are dedicating a good deal of earned coins back into the system. Year by year, our network will become increasingly more decentralized. I think it's a good strategy.

You also have to consider running masternodes isn't free. Operators must pay for hosting or someone to administer their nodes. Those coins are also reentering the supply and some of them will be turned into a new masternode, ran by someone else. Every part of this process further decentralizes the system over time.

Also, for someone like you, you've dedicated full time to this project, so you're either living off of your saved fiat, or selling your Dash to live.  Both ways put pressure on you to sell Dash - one way, or one day or another, and thus, decreases your potential to accumulate.

Same goes for otoh, As far as I can tell, he's living off his wealth, created from Crypto.  Which means, he has to play the market successfully, or not lose too much, and is living off his crypto holdings as well.

Indeed this is true, it's also scary how quickly one can become accustomed to first class limos too Shocked



LHR last night Tongue

aggghhh...that airport sucks!  LOL.   Well at the least the limo ride would make it bearable.   We'll have to hook up a bevie when I come out to London for my next level sommelier exam in June I believe.
sr. member
Activity: 406
Merit: 250
What you don't take into account is that in oficial election the 50%+1 don't take in account the abstain and blank vote.
Anyway I don't think this apply for our system.

72h + 20% have my vote too.

Yes, the 50% vs 10/20% boils down to how the abstain votes are handled...

with a >=50% system:
1750:1250 pass
2000:200 pass
1500:1000 fail
750:0 fail

with a +20% system:
1750:1250 fail
2000:200 pass
1500:1000 fail
750:0 pass

I would personally prefer a low-turnout vote like 750:0 to fail rather than pass... and a high turnout vote like 1750:1250 to pass rather than fail... just my 2 cents

It doesn't really look like Abstain is used much actually. Unless there's a bug or something?

Quote
./dash-cli mnbudget show | grep Abs
        "Abstains" : 0,

By Abstain, I meant, "did not vote yes or no", rather than actually voting to Abstain (I didn't even know that was an official option)...

I feel that if there are only 1400/3400 MNs voting, it is because the vote was only open for 3 days, and they did not see it, rather than chose not to vote...

I think if you have a vote open for 14 days instead of 3, you will see a higher turnout...

One budget had over 2000 yes votes, so we know there are at least that many MNs (votes) wanting to participate...
legendary
Activity: 1182
Merit: 1000
How about polling the masternodes to see what the general consensus is for a percentage and wait time?

i suggested a similar proposal when someone was suggesting 50% +1.

after doing more research i think the 50% +1 is too much but it sounds good on paper. i just like the idea of a majority plus one but i don't think that would work due to low participation rates.
someone suggested a sliding upward scale depending on how large the amount was. that seems like a good idea but may not be easy to do and would not be a priority for me. i want all hands on deck coding evolution and everything else can wait imo.

72 hours and 20% sounds good enough for now.
What you don't take into account is that in oficial election the 50%+1 don't take in account the abstain and blank vote.
Anyway I don't think this apply for our system.

72h + 20% have my vote too.

yeah i think i misunderstood the whole thing. as long as the majority wins i'm cool with that. 20% is better than 10% though just to keep the system from being gamed.
legendary
Activity: 1176
Merit: 1036
Dash Developer
What you don't take into account is that in oficial election the 50%+1 don't take in account the abstain and blank vote.
Anyway I don't think this apply for our system.

72h + 20% have my vote too.

Yes, the 50% vs 10/20% boils down to how the abstain votes are handled...

with a >=50% system:
1750:1250 pass
2000:200 pass
1500:1000 fail
750:0 fail

with a +20% system:
1750:1250 fail
2000:200 pass
1500:1000 fail
750:0 pass

I would personally prefer a low-turnout vote like 750:0 to fail rather than pass... and a high turnout vote like 1750:1250 to pass rather than fail... just my 2 cents

It doesn't really look like Abstain is used much actually. Unless there's a bug or something?

Quote
./dash-cli mnbudget show | grep Abs
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
        "Abstains" : 0,
sr. member
Activity: 406
Merit: 250
What you don't take into account is that in oficial election the 50%+1 don't take in account the abstain and blank vote.
Anyway I don't think this apply for our system.

72h + 20% have my vote too.

Yes, the 50% vs 10/20% boils down to how the abstain votes are handled...

with a >=50% system:
1750:1250 pass
2000:200 pass
1500:1000 fail
750:0 fail

with a +20% system:
1750:1250 fail
2000:200 pass
1500:1000 fail
750:0 pass

I would personally prefer a low-turnout vote like 750:0 to fail rather than pass... and a high turnout vote like 1750:1250 to pass rather than fail... just my 2 cents
legendary
Activity: 1288
Merit: 1000
How about polling the masternodes to see what the general consensus is for a percentage and wait time?

i suggested a similar proposal when someone was suggesting 50% +1.

after doing more research i think the 50% +1 is too much but it sounds good on paper. i just like the idea of a majority plus one but i don't think that would work due to low participation rates.
someone suggested a sliding upward scale depending on how large the amount was. that seems like a good idea but may not be easy to do and would not be a priority for me. i want all hands on deck coding evolution and everything else can wait imo.

72 hours and 20% sounds good enough for now.
What you don't take into account is that in oficial election the 50%+1 don't take in account the abstain and blank vote.
Anyway I don't think this apply for our system.

72h + 20% have my vote too.
legendary
Activity: 1182
Merit: 1000
How about polling the masternodes to see what the general consensus is for a percentage and wait time?

i suggested a similar proposal when someone was suggesting 50% +1.

after doing more research i think the 50% +1 is too much but it sounds good on paper. i just like the idea of a majority plus one but i don't think that would work due to low participation rates.
someone suggested a sliding upward scale depending on how large the amount was. that seems like a good idea but may not be easy to do and would not be a priority for me. i want all hands on deck coding evolution and everything else can wait imo.

72 hours and 20% sounds good enough for now.
sr. member
Activity: 406
Merit: 250
I have looked at participation, and it is higher than you think...

The soda budget got 1400 yes votes in under 3 days... that would have easily hit 1700 given a few more days... not an issue

This budget got over 2000 votes:
https://dashninja.pl/budgetdetails.html?budgetid=lamassu-integration

I said average participation, not peak. Average participation is 34%, which actually isn't too shabby. Maybe we could raise the threshold from 10% to 20% without any impact.

So 72 hours and 20% minimum?

Its hard to say what average participation is when a vote closes after 2-3 days... not everyone voted... which has been my point this entire time... there is not enough time for the voting to take place...

1400 votes in 3 days is a lot of participation... if that vote had been open for 14 days, I would bet my hat it would have well over 2000 votes, over 60% participation... easily...

Part of the issue is that the soda vote was supposed to last until Feb 20, 2016... it ended after only 3 days... perhaps some people abstained because they thought they still had 40+ days to vote? Perhaps some people didn't feel they needed to vote since it was 1400 yes and 30 no? Perhaps some people only check for new budgets once/week and missed their chance to vote altogether?
https://dashninja.pl/budgetdetails.html?budgetid=590-soda-machine Est. End: 2/20/2016
legendary
Activity: 1182
Merit: 1000
I would personally get rid of the 10% thing, and change it to 50 or 60% of the total MNs being the minimum for a vote to pass...

At current, that would be 1731 or 2077 votes to pass (out of 3462 MNs total)


Edit: With this option, I would feel better about the 24 hour minimum... if a proposal has 2000+ yes votes in 24hr, that's unanimous support

Nothing would ever get passed. Look at the average participation .

https://dashninja.pl/budgets.html


I have looked at participation, and it is higher than you think...

The soda budget got 1400 yes votes in under 3 days... that would have easily hit 1700 given a few more days... not an issue

This budget got over 2000 votes:
https://dashninja.pl/budgetdetails.html?budgetid=lamassu-integration

I said average participation, not peak. Average participation is 34%, which actually isn't too shabby. Maybe we could raise the threshold from 10% to 20% without any impact.

So 72 hours and 20% minimum?
sounds good
newbie
Activity: 21
Merit: 0
How about polling the masternodes to see what the general consensus is for a percentage and wait time?
Jump to: