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

v0.10.9.x Help test RC2 forking issues

Status
Not open for further replies.
Hmm, so whats the use of the command then? If 'masternode list' and 'masternode list active' return the same i don't see the ratonale :smile: - or do you differentiate between active and enabled?



Yes, and (int)mn.IsEnabled()) always returns true/1 - there is no method for changing value of 'enabled' variable of https://github.com/darkcoinproject/darkcoin/blob/master/src/main.h#L2437 - or do i miss something?

I think this one is used https://github.com/darkcoinproject/darkcoin/blob/master/src/main.h#L2467-L2470
And I don't know c++. just grep IsEnabled
 
I think this one is used https://github.com/darkcoinproject/darkcoin/blob/master/src/main.h#L2467-L2470
And I don't know c++. just grep IsEnabled

Yes, thats just the getter, no setter method for the variable. I know that its possible to directly access class variables, but to do so is discouraged from IT-QA perspective...

Here is the code of the "dsee stop" command

https://github.com/darkcoinproject/darkcoin/blob/master/src/main.cpp#L4167-L4170

Code:
if(mn.IsEnabled()){
                        mn.Disable();
                        mn.Check();
                        RelayDarkSendElectionEntryPing(vin, vchSig, sigTime, stop);
                    }

it is accessing the Disable() method, which is

Code:
    void Disable()
    {
        lastTimeSeen = 0;
    }

    bool IsEnabled()
    {
        return enabled == 1;
    }

Both methods are using different variables to determine the state of the masternode, IsEnabled() will always return true, regardless of how often you call Disable() - IHMO that's a bug

It should be

Code:
    void Disable()
    {
        lastTimeSeen = 0;
        enabled = 0;
    }

    bool IsEnabled()
    {
        return enabled == 1;
    }

But maybe masternodes use different source, which i can't review :smile:
 
Last edited by a moderator:
Yes, thats just the getter, no setter method for the variable. I know that its possible to directly access class variables, but to do so is discouraged from IT-QA perspective...

Here is the code of the "dsee stop" command

https://github.com/darkcoinproject/darkcoin/blob/master/src/main.cpp#L4167-L4170

Code:
if(mn.IsEnabled()){
                        mn.Disable();
                        mn.Check();
                        RelayDarkSendElectionEntryPing(vin, vchSig, sigTime, stop);
                    }

it is accessing the Disable() method, which is

Code:
    void Disable()
    {
        lastTimeSeen = 0;
    }

    bool IsEnabled()
    {
        return enabled == 1;
    }

Both methods are using different variables to determine the state of the masternode, IsEnabled() will always return true, regardless of how often you call Disable() - IHMO that's a bug

It should be

Code:
    void Disable()
    {
        lastTimeSeen = 0;
        enabled = 0;
    }

    bool IsEnabled()
    {
        return enabled == 1;
    }

But maybe masternodes use different source, which i can't review :smile:
RC has same result. I think masternode is open sourced.
Code:
ubuntu@ip-172-31-30-7:~$ darkcoind masternode list active
{
    "188.226.248.36:19999" : 0,
    "184.73.179.148:19999" : 1,
    "54.86.103.191:19999" : 1,
    "184.73.179.187:19999" : 0,
 
Yes, kind of odd. I additionally noticed atavacron shut down his 50 nodes since 10 hours (thanks for the testcase), but the IPs are still listed in masternode list (being inactive) and still getting votes and payments! Seems the miners are still voting on the inactive IPs/addresses - is this a pool-code issue?

And the number of unpaid block rose to 40%. It seems that the deactivation does not get propagated properly through the network, and network can't find consensus on votes, that why votes often expire --> unpaid blocks.

Code:
54.234.251.170:19999    0    n1HRzCV9RBxVJoC5noKVNBCx4gAbTZPyPZ    1402610608423963    39692    155377
[...]
204.236.211.102:19999    0    mysBdRyDRFSYgBGUVjrEM1TyXsNxHMEUgQ    1402610638577940    39662    155407
[..]
54.198.191.99:19999    0    myVSR4kptFPTSFjARc3DD8RkFvkLQ2CJ8c    1402610611150936    39689    155380
[...]

Code:
current valid no of masternode : 17

last 20 blocks
      4 -
      1 n1HRzCV9RBxVJoC5noKVNBCx4gAbTZPyPZ
      1 mysBdRyDRFSYgBGUVjrEM1TyXsNxHMEUgQ
      1 myVSR4kptFPTSFjARc3DD8RkFvkLQ2CJ8c
      1 mwnfhj5k4dvzTycttN5249FvtMNMzisPiy
      1 mvaUy1oHfEykY5SohyfpRWP8YzqGb7r5qf
      1 mtDk3CAwEoPo2yRwzbNhrUiJL8Jytr2arp
      1 moqpGCABQQefuujQ9nsAMJVEiwAXyAMw6o
      1 miRmicKoQPqEbem31CX8Pe59YGpfzsy5Zn

eduffield what is the timeout for inactive ':0' nodes being removed from network list and why do they still take part in the voting and get network confirmations?

Was thinking about the hard vote expiration factor of 10 anyway: Perhaps we should think of dynamically adjusting the vote expiration factor (like DGW), as this factor must scale to network size: It's much harder to find vote consensus in a large P2P network than in a small one. And expiration of 10 might not be sufficient in a network with 300 masternodes (was thinking about something like 51% no. of masternodes so that there is the mathematical chance that majority of network has confirmed). So network size "difficulty" should be part of blockchain like hash difficulty...

EDIT: inactive nodes continue to get payments, 40% unpaid blocks

Code:
current valid no of masternode : 17

last 20 blocks
      8 -
      3 mysBdRyDRFSYgBGUVjrEM1TyXsNxHMEUgQ  <--
      2 myVSR4kptFPTSFjARc3DD8RkFvkLQ2CJ8c <--
      2 miRmicKoQPqEbem31CX8Pe59YGpfzsy5Zn
      1 mwnfhj5k4dvzTycttN5249FvtMNMzisPiy
      1 mtDk3CAwEoPo2yRwzbNhrUiJL8Jytr2arp
      1 moqpGCABQQefuujQ9nsAMJVEiwAXyAMw6o
      1 mfwFQXpRNhBFakKR6tMCgRaMB19yszGf2y
      1 mfmqKHWKdS6juPjUMwDo6cTSWJSoKtAsGs

Code:
{
    "version" : 2,
    "previousblockhash" : "00000001724bbdad7c03c44364a659feebfab5da14f8c74a5ed877f4da0baea2",
    "transactions" : [
    ],
    "coinbaseaux" : {
        "flags" : "062f503253482f"
    },
    "coinbasevalue" : 15100000000,
    "target" : "000000033c330000000000000000000000000000000000000000000000000000",
    "mintime" : 1402651794,
    "mutable" : [
        "time",
        "transactions",
        "prevblock"
    ],
    "noncerange" : "00000000ffffffff",
    "sigoplimit" : 20000,
    "sizelimit" : 1000000,
    "curtime" : 1402652221,
    "bits" : "1d033c33",
    "height" : 18725,
    "votes" : [
        "1e490000000000001976a914c945b6ce1ff2bdbadef37ffdc3e22ed17eddcb8188ac06000000",
        "1f490000000000001976a914b27ad157bd495c98eebfb588cc071c7be6f7ad3788ac04000000",
        "20490000000000001976a914a534bcf52ac17918da047319ac113cbf5a9912ad88ac03000000",
        "21490000000000001976a9144aa9f48fc2153ab8e0dd56cc20b42792ae7ac8a488ac03000000",
        "22490000000000001976a9148b5855369051c6ca305952021112ca973dffc6bd88ac02000000",
        "23490000000000001976a914c945b6ce1ff2bdbadef37ffdc3e22ed17eddcb8188ac02000000",
        "24490000000000001976a914d8d3cef6e63fa5104f75e2e42a26d69ad9b13dff88ac01000000",
        "25490000000000001976a914e3c2bf5d17901d8cf423b787aa5146994837d81a88ac01000000"
    ],
    "payee" : "myVSR4kptFPTSFjARc3DD8RkFvkLQ2CJ8c",            <------------
    "masternode_payments" : true
}
Yeah, that would be correct the darkcoin deamons are down but servers still online.
All of my masternodes on the testnet had DRK stored local to the the server. Being that is not a good idea on the mainnet, I'm migrating to the local - remote solution. I thought that I would try to create a script in Bash to help the process. And, that didn't turn out well. After troubleshooting, I found the error to be PEBKAC. I shouldn't program while partially conscious due to lack of sleep. Thankfully, EC2's are easy to snapshot and recover.
I haven't brought any of the daemons back online yet so I cannot verify that I'm still receiving payments but I'll take flares word for it. I'm unavailable for a couple of hours but I'll take a look when I get home. I realize that since the daemons are offline they are not collecting logs. Regardless, let me know if there is anything that you need from them.
Anyway, I suppose that I'm glad, I accidentally stumbled onto a possible issue before it became a problem.
 
RC has same result. I think masternode is open sourced.
Code:
ubuntu@ip-172-31-30-7:~$ darkcoind masternode list active
{
    "188.226.248.36:19999" : 0,
    "184.73.179.148:19999" : 1,
    "54.86.103.191:19999" : 1,
    "184.73.179.187:19999" : 0,

I just noticed another strange behaviour of RC:
start -> stop -> start sequence will result in wrong status message "masternode is stopped".
Maybe cosmetic...

Code:
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind
testnet3@ip-10-65-166-48:~/.darkcoin$ DarkCoin server starting

testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
successfully started masternode
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode stop
successfully stopped masternode
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind getinfo
{
    "version" : 101001,
    "protocolversion" : 70018,
    "walletversion" : 60000,
    "balance" : 5662.89696663,
    "blocks" : 18882,
    "timeoffset" : 0,
    "connections" : 6,
    "proxy" : "",
    "difficulty" : 0.59225688,
    "testnet" : true,
    "keypoololdest" : 1401692771,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "mininput" : 0.00001000,
    "errors" : ""
}
 
I just noticed another strange behaviour of RC:
start -> stop -> start sequence will result in wrong status message "masternode is stopped".
Maybe cosmetic...

Code:
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind
testnet3@ip-10-65-166-48:~/.darkcoin$ DarkCoin server starting

testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
successfully started masternode
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode stop
successfully stopped masternode
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind getinfo
{
    "version" : 101001,
    "protocolversion" : 70018,
    "walletversion" : 60000,
    "balance" : 5662.89696663,
    "blocks" : 18882,
    "timeoffset" : 0,
    "connections" : 6,
    "proxy" : "",
    "difficulty" : 0.59225688,
    "testnet" : true,
    "keypoololdest" : 1401692771,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "mininput" : 0.00001000,
    "errors" : ""
}
I have noticed before. ;D
 

And that is just one address for 1 node? It has 23 payout just today!

My 10.9.6, active for 4 days straight, got 8 payout today
My 32 hour alive node 10.9.13 has 0 payouts.
Is there a vote ramp up or what?

I dont mind ramp-ups, learnt how valuable they are in p2pool. But I havent figured out the voting system yet. As long as it is fair, all is fair in p2pool and masternodes
 
Last edited by a moderator:
I just noticed another strange behaviour of RC:
}[/CODE]

I've noticed that while SSH'ing into remote, and even local VM, if I start the daemons and immediately do a simple "getinfo" .... in 2 or 3x in a row it will say something like "not connected to server"... I just wait a few seconds and it works. Food for thought
 
And that is just one address for 1 node? It has 23 payout just today!

My 10.9.6, active for 4 days straight, got 8 payout today
My 32 hour alive node 10.9.13 has 0 payouts.

Is there a vote ramp up or what?

No, there is a bug in winner election code in 0.10.10.0/0.9.10.0 - eduffield fixed it in 0.10.10.1/0.9.10.1 Download from darkcoin.io mainsite (binary is updated, text on website is not)
 
Last edited by a moderator:
Yeah, that would be correct the darkcoin deamons are down but servers still online.
All of my masternodes on the testnet had DRK stored local to the the server. Being that is not a good idea on the mainnet, I'm migrating to the local - remote solution. I thought that I would try to create a script in Bash to help the process. And, that didn't turn out well. After troubleshooting, I found the error to be PEBKAC. I shouldn't program while partially conscious due to lack of sleep. Thankfully, EC2's are easy to snapshot and recover.
I haven't brought any of the daemons back online yet so I cannot verify that I'm still receiving payments but I'll take flares word for it. I'm unavailable for a couple of hours but I'll take a look when I get home. I realize that since the daemons are offline they are not collecting logs. Regardless, let me know if there is anything that you need from them.
Anyway, I suppose that I'm glad, I accidentally stumbled onto a possible issue before it became a problem.
I think this setup before, but I don't know scale up.
I can list what is needed.
* 20 remote nodes.
1) 20 public ip
2) 20 darckcoin.conf : externalip, masternodeprivkey from local wallet.
3) public ip/externalip should be matched to specific masternodeprivkey.
Boot up 20 nodes.


* 1 local linux machine
1) 20 wallet.dat
2) 20 darkcoin.conf :masternodeaddr, masternodeprivkey
3) masternodeaddr =node ip should be matched to specific masternodeprivkey

switch 20 wallet.
 
I've noticed that while SSH'ing into remote, and even local VM, if I start the daemons and immediately do a simple "getinfo" .... in 2 or 3x in a row it will say something like "not connected to server"... I just wait a few seconds and it works. Food for thought

No, that one is different. Regardless of how long you wait, it will always return 'masternode is stopped' - you will only get 'successfully started masternode' on the first command after darkcoind startup.

Code:
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode stop
successfully stopped masternode
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode stop
successfully stopped masternode
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode stop
successfully stopped masternode
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
testnet3@ip-10-65-166-48:~/.darkcoin$ ./darkcoind masternode start
masternode is stopped
 
No, there is a bug in winner election code in 0.10.10/0.9.10 - eduffield fixed it in 0.10.11/0.9.11. Download from darkcoin.io mainsite (binary is updated, text on website is not)

Ok, will nuke my 0.9.6 when I get home.
Hope my 0.9.13 gets some love soon though...
 
I've noticed that while SSH'ing into remote, and even local VM, if I start the daemons and immediately do a simple "getinfo" .... in 2 or 3x in a row it will say something like "not connected to server"... I just wait a few seconds and it works. Food for thought
Oh It's natural. daemon needs at least 10 sec to a min to fully operational.
not connected to server == rpc port is not opened yet
 
Hmm, so whats the use of the command then? If 'masternode list' and 'masternode list active' return the same i don't see the ratonale :smile: - or do you differentiate between active and enabled?

Going to answer the question myself

commands 'masternode list' and 'masternode list active' are identical.

'active' is default parameter, as defined in https://github.com/darkcoinproject/darkcoin/blob/master/src/rpcdarksend.cpp#L25-L37

So command is working as expected (displaying the 'active' column of list, not the 'active :1' nodes)

Good example we need written design specifications :grin:

So please update your clients to 0.9.10.1 / 0.10.10.1 gentlewomen and gentlemen - currently disabled nodes still receive votes and payments
 
Last edited by a moderator:
Hi everyone,

I'm about to join business and would appreciate some testnet coins: n31jCvcXGCUeFHDSJe6TYMpn7VjX9p3nbd

Thanks in advance :)
 
Hi everyone,

I'm about to join business and would appreciate some testnet coins: n31jCvcXGCUeFHDSJe6TYMpn7VjX9p3nbd

Thanks in advance :)

./darkcoind sendtoaddress n31jCvcXGCUeFHDSJe6TYMpn7VjX9p3nbd 1000
3763614a6d46459732c199fa5f3d56a0831ff0324a23517228901ed288091bac
 
I'm home for a about an hour.
I'm going to bring up all of my testnet masternodes. Hopefully nothing out of the ordinary will happen. Lets find out.
 
Status
Not open for further replies.
Back
Top