V12.1 Testnet Launch Thread

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
So I just confirmed for myself (you all obviously knew) that I still need a hot wallet to start my masternodes. Is there a plan to make it so we never have to expose our wallets to the internet?

Also, one of my MN wallets won't get beyond a fork (the 12365 one) Is there a way to force a wallet to follow the longest fork? Because multiple starts with zap and reindex leaves me in the same spot. It would be nice to have a way to force the wallet to take the longest chain?

Oh yah, I forget all the time. I need to delete all my files in the .dash/testnet3 folder to bypass the forks, ugh :)
 
Last edited:

splawik21

Grizzled Member
Dash Core Team
Moderator
Foundation Member
Dash Support Group
Apr 8, 2014
1,918
1,273
1,283
So I just confirmed for myself (you all obviously knew) that I still need a hot wallet to start my masternodes. Is there a plan to make it so we never have to expose our wallets to the internet?
Check this in debug window :)

Code:
masternodebroadcast
network messages in general are still not ideal however so broadcast relaying could fail too... @UdjinM6 is working on it.
 
  • Like
Reactions: UdjinM6

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
Why cant process make more keys on the fly if needed?

- Mix process notices aha, no more keys
- Stop process and make more keys
- Save and backup wallet
- Continue process
- And so on...
It always adds one more key to the pool once you use one from the pool, the problem is you don't have it in backup.

Check this in debug window :)

Code:
masternodebroadcast
network messages in general are still not ideal however so broadcast relaying could fail too... @UdjinM6 is working on it.
yep, should be much better with the latest binaries though :)

EVERYONE: pls, update your masternodes and if you are mining pls update biniries too. Network needs both most of miners AND masternodes to use binaries with fixed payment code (or we'll keep forking).
Thanks!
 
  • Like
Reactions: flare and AjM

AjM

Well-known Member
Foundation Member
Jun 23, 2014
1,334
571
283
Finland
It always adds one more key to the pool once you use one from the pool, the problem is you don't have it in backup.
Cant we make backup during mix process, i mean when new key is added?
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
Cant we make backup during mix process, i mean when new key is added?
I think it's safer if you simply made a bunch of keys that will last a while (I figure 10,000 a month for liquidity providing) and keep a back up of the wallet in several places, then refilling the key pool at the end of that time period, and taking a new backup of the wallet. I don't know, with automatic backing up of wallets, people might get lazy and then one day the hard drive fails....
 

AjM

Well-known Member
Foundation Member
Jun 23, 2014
1,334
571
283
Finland
I think it's safer if you simply made a bunch of keys that will last a while (I figure 10,000 a month for liquidity providing) and keep a back up of the wallet in several places, then refilling the key pool at the end of that time period, and taking a new backup of the wallet. I don't know, with automatic backing up of wallets, people might get lazy and then one day the hard drive fails....
If your PC or Os or Dash crash, all gone, thats why i asked autobackup.
When wallet add new key, you have basically new wallet and you dont have ANY backup at that point.
You only have old backups + that what wallet made when it started.
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
I understand, AjM. One thing that I do for my liquidity wallet is create 40,000 keys with keypoolrefill 40000 in the command line. And every time I back up my wallet, I do the same. The wallet then makes sure I have 40,000 available keys. I like to do it this way because I always know how many keys I have left, 'cause you can see it when you do a "getinfo" so I know where I stand with my backups.

However, you can do this another way. You can put keypool=40000 in the dash.conf file and issue keypoolrefill in the command line. Now, I'm not sure if it always keeps the wallet updated with 40,000 keys after that or if you periodically have to issue keypoolrefill in the command line to refill. If the later, then I guess you'd have just as much control as I have when I simply do the command with the 40000 without putting it in the dash.conf file\

Anyway, when I refill my wallet, I make a backup for my USBs etc...

So I guess my question is, do you mean to have something that backs up your wallet automatically to another location aside from the hard drive that is running your wallet?

Anyway, when we have Evolution, the wallets will be "backed up" in the network; retrievable with your deterministic wallet, which will be super nice because then it'll be almost impossible to lose your funds if you don't lose your 20 word key thingie, or whatever it is :p. Also, Evan is planning to make it so that you can also store a personal backup on your own server or whatever, so in the extremely unlikelihood that your account backups disappear off the network, you still have that information in your own possession.
 
  • Like
Reactions: UdjinM6

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
If your PC or Os or Dash crash, all gone, thats why i asked autobackup.
When wallet add new key, you have basically new wallet and you dont have ANY backup at that point.
You only have old backups + that what wallet made when it started.
You have 1000 keys to use until backup starts to become useless, that's what keypool is for - it's a set of pre-generated pairs (private key, public key). You will use freshly new generated address/privkey added to keypool at this point only 1000 tx outputs later so you have a plenty time to make back. Currently wallet is making new backup on every (re)start.
 

ashmoran

Member
Jan 19, 2016
71
78
58
If you feel adventurous: Here is a rough-cut Windows binary: https://dashpay.atlassian.net/build...fact/JOB1/electrum-dash.exe/electrum-dash.exe

I am still in the process of creating proper packages :)

Ensure that you are connecting to electrum.drk.siampm.com, as Masternode/Trezor functionality needs a updated server :)

Instructions should be here --> https://github.com/dashpay/electrum-dash/blob/develop/docs/masternodes.md
Progress! I'm using a Mac so I've gone about getting everything to work from a cloned Electrum-Dash repo (develop branch).

I've also got 1345 tDASH – the DashNinja faucet is very generous :) – in Dash Core 0.12.1.

However, I've looked everywhere and I can't see any way to make Electrum-Dash run on testnet. The only evidence I can find is GitHub issue #21 for Electrum ("Add access to the Testnet network for debugging purposes"), which seems to imply it doesn't exist.

Is it possible to test Masternode-Trezor support without using 1000 real dash? The masternode collateral required for this test is worth several times the price of my laptop :)
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
Since talking about adding keys, I issued keypoolrefill 20000 to my test wallet and it crashed. This is the last of my log:

Code:
2016-05-27 15:26:34 init message: Loading wallet... (71.32 %)
2016-05-27 15:26:34 keypool added key 14266, size=13567
2016-05-27 15:26:34 init message: Loading wallet... (71.33 %)
2016-05-27 15:26:34 keypool added key 14267, size=13568
2016-05-27 15:26:34 init message: Loading wallet... (71.33 %)
2016-05-27 15:26:34 keypool added key 14268, size=13569
2016-05-27 15:26:34 init message: Loading wallet... (71.34 %)
2016-05-27 15:26:34 keypool added key 14269, size=13570
2016-05-27 15:26:34 init message: Loading wallet... (71.34 %)
2016-05-27 15:26:34 keypool added key 14270, size=13571
2016-05-27 15:26:34 init message: Loading wallet... (71.35 %)
2016-05-27 15:26:34 keypool added key 14271, size=13572
2016-05-27 15:26:34 init message: Loading wallet... (71.35 %)
There doesn't seem to be an error, it just crashed. Looks like I'd have to reissue the command to get it to finish after restarting. Anyway, don't know if that was just a issue with my computer as it's a little old, or something that needed to be reported :) It's probably my old computer, but if anyone else wants to try it to see if the wallet crashes, have fun :)
 

yidakee

Well-known Member
Foundation Member
Apr 16, 2014
1,812
1,168
283
Ok, how about this idea.

In the same way that when you password protect your wallet you're forced to reboot the QT, why not make it that once you press Start Mixing, a pop-up appears warning the user the QT needs to restart the wallet to prepare it for the mixing process, warning users to "Please backup after restarting"

"Creating mix wallet requires you to restart the QT. It's a one time operation and can take just a few minutes. Please backup wallet after restarting. Existing funds will not be affected, but previous backups will become obsolete" - sort of thing?

On close/reopen you could have it fill the keypool with an absurd amount. Also in the Information window there could be a keypool monitor, or even right under the Private Send amount in the main windows to help keep track ... when it is about to, or actually runs out (x<1000) it could warn the user to refill and backup again?

Ideas are easy, hum? :oops:

.
 
Last edited:
  • Like
Reactions: chenriquelira

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
Ok, how about this idea.

In the same way that when you password protect your wallet you're forced to reboot the QT, why not make it that once you press Start Mixing, a pop-up appears warning the user the QT needs to restart the wallet to prepare it for the mixing process, warning users to "Please backup after restarting"

"Creating mix wallet requires you to restart the QT. It's a one time operation and can take just a few minutes. Please backup wallet after restarting. Existing funds will not be affected, but previous backups will become obsolete" - sort of thing?

On close/reopen you could have it fill the keypool with an absurd amount. Also in the Information window there could be a keypool monitor, or even right under the Private Send amount in the main windows to help keep track ... when it is about to, or actually runs out (x<1000) it could warn the user to refill and backup again?

Ideas are easy, hum? :oops:

.
Not sure about the first one but we could probably save keymap size on start in some tmp variable, show (sizeOnStart + keypoolSize - currentSize) and warn if it's very low (like 10%) or even stop mixing completely... smth like the way notebooks behave when they run out of battery... hmm...
 

AjM

Well-known Member
Foundation Member
Jun 23, 2014
1,334
571
283
Finland
You have 1000 keys to use until backup starts to become useless, that's what keypool is for - it's a set of pre-generated pairs (private key, public key). You will use freshly new generated address/privkey added to keypool at this point only 1000 tx outputs later so you have a plenty time to make back. Currently wallet is making new backup on every (re)start.
Are you saying that if i have fresh new wallet and 1000 keys in it,
and i do 6 hours of mixing, wallet is still unchanged in any way?
 

AjM

Well-known Member
Foundation Member
Jun 23, 2014
1,334
571
283
Finland
Also in the Information window there could be a keypool monitor, or even right under the Private Send amount in the main windows to help keep track ... when it is about to, or actually runs out (x<1000) it could warn the user to refill and backup again?
.
Agree, this would be very nice info.
 

AjM

Well-known Member
Foundation Member
Jun 23, 2014
1,334
571
283
Finland
So I guess my question is, do you mean to have something that backs up your wallet automatically to another location aside from the hard drive that is running your wallet?
No, i thought when mixing happens,
keys are changed and that info is lost if something crashes,
because that info is only in the memory.
 

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
Are you saying that if i have fresh new wallet and 1000 keys in it,
and i do 6 hours of mixing, wallet is still unchanged in any way?
Wallet is changed of course (filled with new keys) but you could still be using keys from first 1000 keys generated on wallet creation. Keys are used in the same order they were created the question is have you used 1000 already or not. Wallet is dumped to disk periodically to save some meta-data but I believe it writes to disk as soon as it has new key. So technically you always have new keys saved but you have no backup and the wallet you are saving to could get corrupted (i.e. become unrecoverable).
 

AjM

Well-known Member
Foundation Member
Jun 23, 2014
1,334
571
283
Finland
Wallet is changed of course (filled with new keys) but you could still be using keys from first 1000 keys generated on wallet creation. Keys are used in the same order they were created the question is have you used 1000 already or not. Wallet is dumped to disk periodically to save some meta-data but I believe it writes to disk as soon as it has new key. So technically you always have new keys saved but you have no backup and the wallet you are saving to could get corrupted (i.e. become unrecoverable).
Ok, so if 1000 is not all yet used and wallet crash, all is good because of that backup which was made in the start, right?
 

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
Ok, so if 1000 is not all yet used and wallet crash, all is good because of that backup which was made in the start, right?
Ahh.. I see. No, wallet backup is created when there is already wallet.dat in datadir folder so fresh new one will be backed up first time on the next start only. At least currently that's the case.
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
Well, I upgraded this morning, started darksend at 69% and it's still at 69% I removed everything exept wallet.dat and masternode.conf so all would be clean, and as far as I could see, I was on the longest chain. Maybe I fell off again, but??? Will look more :p

Does block 12683, sound correct? Ugh, probably not, as my wallet lost track of its MNs LOL

WAIT! They're all 3 on the same block...

OK, so what did I do wrong now please? LOL:

Code:
2016-05-27 23:36:10 socket recv error An established connection was aborted by the software in your host machine.  (10053)
2016-05-27 23:36:13 CMasternodeSync::Process() - tick 29203 RequestedMasternodeAttempt 3 RequestedMasternodeAssets 2 nSyncProgress 0.343750
Anyone want my debug file? I have a lot of yummy errors in it??
 
Last edited:

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
Ugh:


{
"version": 120100,
"protocolversion": 70200,
"walletversion": 61000,
"balance": 1000.00000000,
"privatesend_balance": 0.00000000,
"blocks": 12683,
"timeoffset": 0,
"connections": 7,
"proxy": "",
"difficulty": 0.002322149597246034,
"testnet": true,
"keypoololdest": 1463997689,
"keypoolsize": 1001,
"paytxfee": 0.00000000,
"relayfee": 0.00010000,
"errors": "WARNING: check your network connection, 4 blocks received in the last 1 hours (24 expected)"
 

Stealth923

Well-known Member
Foundation Member
Mar 9, 2014
343
370
233
Latest version mixing is super fast - 1500 dash - 8 rounds for around 4 hours and already at 58% complete.

Looking good so far.
 

jiggytom

Member
Nov 14, 2014
104
22
68
seeing this on my mn:

2016-05-28 05:44:11 CMasternodePayments::IsTransactionValid - Missing required payment - yM5FRHzkRDKLkhjTFvQb7E6RuxA7SNzYCH 3060200904
2016-05-28 05:44:11 Invalid mn payment detected CTransaction(hash=d81234f80c, ver=1, vin.size=1, vout.size=1, nLockTime=0)
CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0244310104)
CTxOut(nValue=153.01004520, scriptPubKey=21030bdfbf5ef95c13e8acac5292e7)

2016-05-28 05:44:11 ERROR: CheckBlock() : Couldn't find masternode/budget payment
2016-05-28 05:44:11 ERROR: ProcessNewBlock: CheckBlock FAILED
2016-05-28 05:44:11 Misbehaving: 114.249.251.26:28493 (0 -> 100) BAN THRESHOLD EXCEEDED
2016-05-28 05:45:01 receive version message: /Dash Core:0.12.1/: version 70200, blocks=12886, us=47.20.146.132:19999, peer=652
2016-05-28 05:45:01 AdvertizeLocal: advertizing address 47.20.146.132:19999
2016-05-28 05:45:02 CMasternodePayments::IsTransactionValid - Missing required payment - yM5FRHzkRDKLkhjTFvQb7E6RuxA7SNzYCH 3060200904
2016-05-28 05:45:02 Invalid mn payment detected CTransaction(hash=d81234f80c, ver=1, vin.size=1, vout.size=1, nLockTime=0)
CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0244310104)
CTxOut(nValue=153.01004520, scriptPubKey=21030bdfbf5ef95c13e8acac5292e7)

2016-05-28 05:45:02 ERROR: CheckBlock() : Couldn't find masternode/budget payment
2016-05-28 05:45:02 ERROR: ProcessNewBlock: CheckBlock FAILED
 

jiggytom

Member
Nov 14, 2014
104
22
68
seeing this on my mn:

2016-05-28 05:44:11 CMasternodePayments::IsTransactionValid - Missing required payment - yM5FRHzkRDKLkhjTFvQb7E6RuxA7SNzYCH 3060200904
2016-05-28 05:44:11 Invalid mn payment detected CTransaction(hash=d81234f80c, ver=1, vin.size=1, vout.size=1, nLockTime=0)
CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0244310104)
CTxOut(nValue=153.01004520, scriptPubKey=21030bdfbf5ef95c13e8acac5292e7)

2016-05-28 05:44:11 ERROR: CheckBlock() : Couldn't find masternode/budget payment
2016-05-28 05:44:11 ERROR: ProcessNewBlock: CheckBlock FAILED
2016-05-28 05:44:11 Misbehaving: 114.249.251.26:28493 (0 -> 100) BAN THRESHOLD EXCEEDED
2016-05-28 05:45:01 receive version message: /Dash Core:0.12.1/: version 70200, blocks=12886, us=47.20.146.132:19999, peer=652
2016-05-28 05:45:01 AdvertizeLocal: advertizing address 47.20.146.132:19999
2016-05-28 05:45:02 CMasternodePayments::IsTransactionValid - Missing required payment - yM5FRHzkRDKLkhjTFvQb7E6RuxA7SNzYCH 3060200904
2016-05-28 05:45:02 Invalid mn payment detected CTransaction(hash=d81234f80c, ver=1, vin.size=1, vout.size=1, nLockTime=0)
CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, 4294967295), coinbase 0244310104)
CTxOut(nValue=153.01004520, scriptPubKey=21030bdfbf5ef95c13e8acac5292e7)

2016-05-28 05:45:02 ERROR: CheckBlock() : Couldn't find masternode/budget payment
2016-05-28 05:45:02 ERROR: ProcessNewBlock: CheckBlock FAILED
Is this the bug evan just squashed? must be exciting!
 

qwizzie

Well-known Member
Aug 6, 2014
1,546
726
183
i'm currently on block 12975 but all blockchain explorers show 12939 ?
i already did a reindex and deletion of blockchain and i keep getting at 12975

edit : looks like i'm on the right chain.. which means the blockchain explorers need reindexing.

To all, please make sure you are running this version : v0.12.1.0-37b4666 + reindex just to be sure
https://www.dash.org/forum/threads/v12-1-testnet-launch-thread.9014/page-9#post-95293



Update : this shows the active chain



It also looks like only peers with protocol version 70200 are being accepted now, the rest looks to be automatically banned ? Saves me the trouble manually banning them.
 
Last edited:
  • Like
Reactions: splawik21

studioz

Well-known Member
Sep 10, 2014
540
464
163
CANADA
dashbr.com
i updated tMN to latest version and not showing online on ninja site
https://test.dashninja.pl/mndetails.html?mnpubkey=yVfR9fc67Z3br1FL9VggdWwXHP6jW2Zaub
can some1 help pls

"version": 120100,
"protocolversion": 70200,
"walletversion": 61000,
"balance": 0.00000000,
"privatesend_balance": 0.00000000,
"blocks": 13065,
"timeoffset": 0,
"connections": 12,
"proxy": "",
"difficulty": 0.009360511453718067,
"testnet": true,
"keypoololdest": 1464020135,
"keypoolsize": 1001,
"paytxfee": 0.00000000,
"relayfee": 0.00010000,
"errors": ""
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
Well, this morning my MNs are up and running still and my wallet is 93% complete with 2000 dash mixing 2 rounds. I think I forgot to reset it, LOL, but I'll do that now :) 8 rounds coming up :)
 

ashmoran

Member
Jan 19, 2016
71
78
58
I went back to see how far I can get working with Dash mainnet, but I've found some obstacles to using masternode support with a Trezor.

To activate a masternode you need a private key you can sign locally and upload to a server. If you're using a Trezor it's impossible to export private keys, so you can't use a Trezor wallet to generate delegate keys. You also can't import new keys into the wallet (that I can see!). So I wondered if it would be possible to use a parallel Electrum wallet with a local seed. But the masternode interface doesn't allow specifying a private key, only an address. The closest it has is is a masternode.conf import feature. So I tried to export a private key from the seed-based Electrum wallet to see if I could create a fake masternode.conf file with just the key, that would import into the Trezor wallet. But Electrum on the one side exports private keys in some Xxxx format (which is different to the 7xxx format private keys I've seen everywhere before), but on the other won't import it with the masternode.conf import feature because it's an incorrect format.

The only thing I haven't tried is to just generate a loose private key and see if it will import that, but I think that should be a last resort, as the main benefit of using Electrum is deterministic wallets.

Also I just noticed that this is a "Phase 3" feature to test, so I've jumped the gun a little :) But since I've already had a go, I thought I would report back my results. (I've filed a couple of tickets for Dash-Electrum in the process.)