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

Testnet masternode problem

Yaposhka

New member
Hello guys!
I am trying to set up my masternode on testnet via Mac terminal. I create and set up vultr vps and made all server configuration via this instruction:
after I installed Dashcore via manual installation from this instruction:
my sync process was successfully finished, I create and load gui wallet, made collateral transaction and continue with registration via this instruction:
I generated all addresses/bls private keys/send some tdash for my payout address but after I tried protx registered I got this error:
"bad-protx-dup-addr (code 18)"
I also try to registered via my dashcore wallet app v19.01 in console, but stuck in the same error after "protx register_submit":
"bad-protx-dup-addr (code 18)" (code -1)
I regenerate all adresses and bls private/public keys few times, but got the same errors. I tried different variations: via dashmate setup/without dashmate/via dashcore app on my Mac/via gui wallet in terminal, but nothing helped. I am doing everything via official instruction. What I can do now? Thank u!!!
 
Make sure the Owner key is unique and not used anywhere else, also make sure the bls key is new. To create new ones use bls generate and getnewaddress.
 
Make sure the Owner key is unique and not used anywhere else, also make sure the bls key is new. To create new ones use bls generate and getnewaddress.
Maybe I'm doing it in the wrong order?
First I am create new address for getting 1000tdash from faucet.
After I create another new address (collateral) and send there 1000tdash
After I wait for 15 collateral confirmations and create bls keys
After I paste the bls private key into dash.conf file
After I create all other addresses and with all info start protxregister_prepare and all next using instruction

Is it right sequence?😇
 
Try using masternodelist to check the details of the current MN that is conflicting with one of the addresses being duplicated.
Thank u very much😇
I didn't find duplicated addresses but I found same IP and realize that its my masternode is in pose_banned list:
"45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5-1": " POSE_BANNED 527 ygt2DRQBLNAiokSzCpWxSk3dWVDeYj4AST 0 0 78.141.214.168:19999"

I am trying now fix it via protx update_service command, but after I made this command with all information (good that I save it) I got:

error code: -1


error message:


masternode with proTxHash 45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5 not found.

Also I found one more my masternode by IP address:
"490e9886af438ef770da2e4a138f375b167594c12e66d92764063f0fcc025907-1": " POSE_BANNED 529 yTB6hw6sXMUvTFRrxmn8E1j8vwtpqgTGcx 0 0 78.141.214.168:9998"

But I think for the second one- the port is not right for the testnet masternode. Sorry for a lot of questions, I am noob at this, but getting more and more) My final destination is to run a testnet masternode. What's will be the best way for me now? which one I need to fix and how? Thank u😚😚:giggle::giggle:
 
In case the IP you want to use is already registered, you need to choose another port number, may I suggest 12345? Now register your masternode with that IP and new port number and in the dash.conf add the following two lines at the end of the file!
Code:
[test]
port=12345
Restart the dashd and problem solved.
 
In case the IP you want to use is already registered, you need to choose another port number, may I suggest 12345? Now register your masternode with that IP and new port number and in the dash.conf add the following two lines at the end of the file!
Code:
[test]
port=12345
Restart the dashd and problem solved.
I change port number in dash.conf and put this lines to the end:
[test]

port=12345

rpcport=19998

bind=0.0.0.0

rpcbind=0.0.0.0

After I registered new masternode with the same IP and new port (78.141.214.168:12345), but after protx register_submit I got this error:
error code: -26


error message:


protx-dup (code 18)

I also restart dashd few times. Haha, all the time when I think- now it will works some new errors are coming🤤😓🥹
 
masternode with proTxHash 45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5 not found.
That is because "45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5-1" is the collateral hash, not the proTx registration hash.

If you type masternodelist json 45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5-1
it will show the proTxHash for it.
 
That is because "45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5-1" is the collateral hash, not the proTx registration hash.

If you type masternodelist json 45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5-1
it will show the proTxHash for it.
Thank u, I tried this command and found all info about masternode. But when I use protx update_service command I got:
"error code: -8

error message:

the operator key does not belong to the registered public key"

But it's impossible, i put there right bls private key (cause I found all keys and info about this masternode on my Mac)
my command was like this:
dash-cli -testnet protx update_service 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 78.141.214.168:19999 "blsprivatekey" ygt2DRQBLNAiokSzCpWxSk3dWVDeYj4AST yS9gwp9vnkyQ3qNxePpPkGEhXs4vDu3vUJ

How I can solve this? Thank u👀🫀

P.S. also what I found strange is that my pubkey of this masternode on my Mac is:
"public": "96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62"
but in masternodelist json command is like this:
"pubkeyoperator": "b6549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62"
It has "b" at the beginning, maybe it's the reason why I can't connect with right bls? because I registered it with wrong pubkey?
 
Last edited:
Thank u, I tried this command and found all info about masternode. But when I use protx update_service command I got:
"error code: -8

error message:

the operator key does not belong to the registered public key"

But it's impossible, i put there right bls private key (cause I found all keys and info about this masternode on my Mac)
my command was like this:
dash-cli -testnet protx update_service 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 78.141.214.168:19999 "blsprivatekey" ygt2DRQBLNAiokSzCpWxSk3dWVDeYj4AST yS9gwp9vnkyQ3qNxePpPkGEhXs4vDu3vUJ

How I can solve this? Thank u👀🫀

P.S. also what I found strange is that my pubkey of this masternode on my Mac is:
"public": "96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62"
but in masternodelist json command is like this:
"pubkeyoperator": "b6549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62"
It has "b" at the beginning, maybe it's the reason why I can't connect with right bls? because I registered it with wrong pubkey?
You can fix this with protx -testnet update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62 "" ""

to change the operator public key to the one on your Mac
 
You can fix this with protx -testnet update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62 "" ""

to change the operator public key to the one on your Mac
I am using gui ssh wallet inside my terminal, when I am adding bls private key to dash.conf I am getting into masternode mode (not the wallet mode), I can use this command:


dash-cli -testnet masternode status


{


"outpoint": "0000000000000000000000000000000000000000000000000000000000000000-4294967295",


"service": "78.141.214.168:19999",


"state": "WAITING_FOR_PROTX",


"status": "Waiting for ProTx to appear on-chain"





But when I try to use protx update_registrar/protx update_service I got:





dash-cli -testnet protx update_service 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 78.141.214.168:19999 «blsprivkey» ygt2DRQBLNAiokSzCpWxSk3dWVDeYj4AST yS9gwp9vnkyQ3qNxePpPkGEhXs4vDu3vUJ


error code: -18


error message:


No wallet is loaded. Load a wallet using loadwallet or create a new one with createwallet. (Note: A default wallet is no longer automatically created)




But I can’t load a wallet while I am in masternode mode. When I delete blsprivkey from dash.conf file and starting a wallet mode I can easy load a wallet, but after protx update_registrar/protx update_service I got:




dash-cli -testnet protx update_service 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 78.141.214.168:19999 «blsprivkey» ygt2DRQBLNAiokSzCpWxSk3dWVDeYj4AST yS9gwp9vnkyQ3qNxePpPkGEhXs4vDu3vUJ


error code: -8


error message:


the operator key does not belong to the registered public key





dash-cli -testnet protx update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62 "" ""


error code: -1


error message:


Private key for owner address ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6 not found in your wallet




I check all the keys, they are right.
What I can do? Thank u:coffee::coffee::coffee:🥲
 
First of all, it is always easiest to work with TWO separate things:
1) A remote VPS ssh terminal for the masternode mode only dashd
2) A separate dash-qt wallet, either on a different VPS or synced locally.

I know you're just on testnet, but that is how most real-world users will interact and monitor things, as well as voting, maintaining keys for payout and sending these update transactions. It is all much easier with a GUI. You can run all of these protx commands in the Console window and you won't have to use "dash-cli" anymore.

Private key for owner address ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6 not found in your wallet
That's because the command you issued
dash-cli -testnet protx update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62 "" ""

did not specify a FeeSourceAddress at the end (after the second ""), so the registered PayoutAddress wass automatically attempted to pay for this protx update_registrar and since it was a new wallet you didn't have the old address you used for PayoutAddress.

In this case of updating, you would need to add one of your local addresses (which this particular wallet controls and has funds in) to pay for the transaction. Again this is all MUCH easier with a static dash-QT wallet on a separate computer. You can go into Coin Control on the Send tab, and find an address with Dash in it, copy the address and add it to the end of the protx command line in the Console of the same wallet..

This is the same as when you did dash-cli -testnet protx update_service 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 78.141.214.168:19999 «blsprivkey» ygt2DRQBLNAiokSzCpWxSk3dWVDeYj4AST yS9gwp9vnkyQ3qNxePpPkGEhXs4vDu3vUJ , where the last address should be one with a little bit of Dash in it to pay for this protx update_service. When you use a static Dash-QT wallet and direct the payouts to it, you can reuse the payout address to fund all of the update transactions automatically. And yes, this command didn't work because you need to update the operator public key in the registration first (or simply start from scratch with a new registration).
 
Thank u for the info! I downloaded now dashcore v19.1 for Mac, before opening change dash.conf file for the testnet:

testnet=1

# RPC Settings
rpcuser=user
rpcpassword=pass
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1

# Index Settings
txindex=1
addressindex=1
timestampindex=1
spentindex=1

[test]
port=19999
rpcport=19998
bind=0.0.0.0
rpcbind=0.0.0.0

After I opened the wallet -it fully sync with the blockchain and I created the wallet. In terminal ssh I did masternode mode, with dash.conf file:
#----
rpcuser=dashrpc
rpcpassword=password
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1
#----
txindex=1
addressindex=1
timestampindex=1
spentindex=1
#----
zmqpubrawtx=tcp://0.0.0.0:29998
zmqpubrawtxlock=tcp://0.0.0.0:29998
zmqpubhashblock=tcp://0.0.0.0:29998
zmqpubrawchainlock=tcp://0.0.0.0:29998
#----
masternodeblsprivkey=blsprivkey
externalip=78.141.214.168
proxy=127.0.0.1:9050
torcontrol=127.0.0.1:9051
#----
testnet=1

[test]
port=19999
rpcport=19998
bind=0.0.0.0
rpcbind=0.0.0.0

Now I am trying from dashcore console to make different combos with "update/registrar for unban my masternode, I create two new addresses in dashcore wallet app for payout and fee, send some funds on them and paste them at the end:
protx update_service 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 78.141.214.168:19999 blsprivkey yd6DVwpERm8ZWTGM7B974ZiBZ82odSQMQX yfvG1iTVVwRnpY3xBCJxczPJWtcQ1nx2H7

the operator key does not belong to the registered public key (code -8)
---
protx update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c blspubkey "" ""

Private key for owner address ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6 not found in your wallet (code -1)
---
protx update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62 yd6DVwpERm8ZWTGM7B974ZiBZ82odSQMQX yfvG1iTVVwRnpY3xBCJxczPJWtcQ1nx2H7

Private key for owner address ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6 not found in your wallet (code -1)
---
So in different combinations I have same errors. U wrote in your answer "command didn't work because you need to update the operator public key in the registration first (or simply start from scratch with a new registration)"

1. How I can update operator public key?
2. I started from the scratch, but I already have 2 nodes registered and banned from my IP/ports and I can't create new one because I had "bad-protx-dup-addr (code 18)" when I try submit new one.

I know that I can technically easy unban my masternode, but I think I loose something important, that's why I have all this errors...
Thank u very much!!!🤤🤯😵‍💫🫣😇

P.S. I am also tried import bls key to my wallet, but:

dash-cli -testnet importprivkey "blsprivkey"


error code: -5


error message:


Invalid private key encoding
 
Last edited:
protx update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c blspubkey "" ""

Private key for owner address ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6 not found in your wallet (code -1)
---
protx update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c 96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62 yd6DVwpERm8ZWTGM7B974ZiBZ82odSQMQX yfvG1iTVVwRnpY3xBCJxczPJWtcQ1nx2H7

Private key for owner address ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6 not found in your wallet (code -1)
you're missing the FeeSourceAddress at the end, with both of those commands. There are FIVE things in the command:
protx update_registrar proTxHash operatorKeyAddr votingKeyAddr payoutAddress feeSourceAddress

So if yfvG1iTVVwRnpY3xBCJxczPJWtcQ1nx2H7 is one of your wallet's addresses with money in it, you can do:

Code:
protx update_registrar 14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c blspubkey yd6DVwpERm8ZWTGM7B974ZiBZ82odSQMQX yfvG1iTVVwRnpY3xBCJxczPJWtcQ1nx2H7 yfvG1iTVVwRnpY3xBCJxczPJWtcQ1nx2H7
.
That will use the same address for payouts and protx fees when you send these commands in the future, and you won't have to specify the FeeSourceAddress again after the registration is updated.
The way you sent it above, it is still trying to use the old payout address ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6 which you don't have anymore in this new wallet.
 
2. I started from the scratch, but I already have 2 nodes registered and banned from my IP/ports and I can't create new one because I had "bad-protx-dup-addr (code 18)" when I try submit new one.
If they are in BANNED state, you should be able to create a new registration. You can force ban with protx revoke protxhash operatorblsprivkey

I think the reason you can't re-register is because you re-used the same blsprivkey in the dash.conf. The update_registrar can also solve your problem, but if you want to register from scratch, you need to create a new bls keypair. Go to the Console and type bls generate. Use the new bls public key for the protx register_prepare, and the new bls privkey in the masternode server's dash.conf.
 
Thank You! Finally a made it and run a masternode. I found the old wallet.dat file in my local MacBook (with which I registered masternode for the first time) and copied it to the server and after made update registrar/service commands and it works. One question: I run a masternode three days ago and all the info and status is still the same now how its was three days ago:
dash-cli -testnet masternode status


{


"outpoint": "45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5-1",


"service": "78.141.214.168:19999",


"proTxHash": "14ccde67298cdd799ccc8e053d5b5e853daa076f785a154df4bbae3cc9fa342c",


"type": "Regular",


"collateralHash": "45ce4e508d3cefd656d160cff9df64d85c97ffce1f6cc5d0335ea0aff7c5a9f5",


"collateralIndex": 1,


"dmnState": {


"service": "78.141.214.168:19999",


"registeredHeight": 889898,


"lastPaidHeight": 0,


"consecutivePayments": 0,


"PoSePenalty": 0,


"PoSeRevivedHeight": 899874,


"PoSeBanHeight": -1,


"revocationReason": 0,


"ownerAddress": "ybQ57ywpofXdndniCjgNbhBAu3WceAZWL6",


"votingAddress": "yd6DVwpERm8ZWTGM7B974ZiBZ82odSQMQX",


"payoutAddress": "ydzh1irQVuMaBK4GQfTe8RPEg1eKZq8bV6",


"pubKeyOperator": "96549902797b501abfd6268e961f17224cd3524fc0683214bbea818a9d84393bfc39d346ae7ce4f47c05b732e558cd62"


},


"state": "READY",


"status": "Ready"


Do I have a risk to get pose_banned because of bad uptime? or everything is good? If I have this risks - How can I secure the masternode so I don't get pose_banned?
 
Back
Top