Complete guide to run a dual node on centos 8 using symbol-bootstrap

Ah, that’s interesting, I supposed that during the create process of the (symbol-bootstrap) node, there is automatically created account representing this node. And after node is successfully started and it’s up & running, is necessary to link my “main” account (in the Symbol wallet, with some vested balance/importance score) with this “node account” - which is the reason of `symbol-bootstrap link’ command. Did I understood something wrong ?

It’s your node’s main account that could contain the XYM balance you want to use to harvest and boot the node, or not. There are a few different possibilities:

  1. You use your account with the balance and put it in a custom config for symbol-bootstrap to use as Main account for the node
  2. You transfer the balance to the account symbol-bootstrap already used to set up your node. Make sure you have the private key of that account and you have a desktop wallet profile with the account to confirm you can access it BEFORE you transfer the balance! In this second case, I believe it is best to wait to link the keys until the account has a positive importance <> 0.
  3. Edit, added after suggestion by @spizzerb: “You can run the node with an empty main account and connect your “real” account with remote harvesting (in Symbol desktop wallet) to the node. The node itself will not harvest but the remote account will. Dont forget to change the beneficiaryAddress to your “real” account.”

Well, is one of these options similar to “delegate account” as it is used by NEM NIS1 nodes ? If I use (by possibility #1) my account as a “main account for the node”, (I suppose that) I have to expose the private key of this account somewhere in the node config - which couldn’t be the best option due to security manner. If this is not necessary (and thus is similar to “delegate account” schema in NIS1), where should I insert in my config this account? I suppose that `beneficiaryAddress’ in the custom.yml isn’t the right one row, correct?

Many thanks for your co-operation in any case!

thanks for mentioning. i added a note to the guide

Your account needs an importance score of > 0 to activate harvesting. You can check the importance score in the wallet or blockexplorer. When you send XYM to a new acount it needs about 12h to get importance.

There is another option to run it which i would prefer because of security.

You can run the node with an empty main account and connect your “real” account with remote harvesting (in Symbol desktop wallet) to the node. The node itself will not harvest but the remote account will. Dont forget to change the beneficiaryAddress to your “real” account.

Yes, absolutely true. I will add it as a third possibility for completeness! Thanks for the suggestion.

In option 1, you can provide the main account public key in a symbol-bootstrap custom config file. When symbol-bootstrap needs the private key, it will ask you to provide it on the command line, but will not store it anywhere.

In option 2, you can do exactly the same with that account: provide the main account public key in a symbol-bootstrap custom config file.

Option 3, as suggested by @spizzerb, might be a very good choice in your case.

1 Like

Thanks gents, this third option looks fine, as it is (IMHO) closest to “delegated harvesting” principle in NEM/NIS1. So, if I’m not fallen ::

  1. I should send some “very small amount of XYM” from my “wallet account” to the (empty) “main node” one ;
  2. Then I should be able to do `symbol-bootstrap link’ operation on the node ;
  3. “Wallet account” should be inserted as beneficiaryAddress' in the custom.yml’ file - and that’s all?

I suppose that similar process for “linking between harvesting wallet account and node” is to do appropriate steps inside Symbol wallet (the same way I use in NEM/NIS1 network), but it’s probably impossible until Symbol Wallet is broken in this manner (impossible to insert HarvestingNode or Custom node URL). Hopefully it will be fixed soon in the next version …

correct. i’m not 100% sure if linking on node account is really needed but i did it too, its just 1-2 XYM tx fees.

as for selceting your node in wallet: if the workaround i described at end of tutorial doesnt work you may have to wait for a wallet update

just added:

Updateing symbol-bootstrap

To update the version of symbol-bootstrap, use following commands:

symbol-bootstrap stop
cp -r target target_backup
sudo npm install -g symbol-bootstrap
symbol-bootstrap start -p mainnet -a dual -c custom.yml --upgrade -d

Check the version by running:

symbol-bootstrap --help

If update was successfull, remove backup of target folder:

rm target_backup

If you go for Option 3 with delegated harvesting on your own node:

  • You don’t need to use the symbol-bootstrap link command, since that will link the main account symbol-bootstrap created and that will have 0 importance.
  • You should “Link all keys” from the harvesting page in your desktop wallet of the account with the balance and once the transaction is confirmed you can activate delegated harvesting. If you specify a beneficiaryAddress in the custom config of your node, you should use your own node’s Url to harvest in the wallet to make sure you get the 25% block reward of your own harvested blocks.

I hope that all makes sense…

1 Like

Yes, it makes completely sense! Interesting change : Now I’m able to put my own node into NodeUrl under Delegated Harvesting section, it was impossible before. I’m not sure, if this is because send some small XYM into “node account”, or due to upgrade of symbol-bootstrap to 1.0.2 version. Selecting of “own Node URL” in Symbol Wallet (1.0.0) is still impossible, so I hope for upgrade there as well :slight_smile:

In any case, now I see Harvesting status: “Activation in progress”, so I hope everything is (will be) successfully done. Thanks again to both of you, guys!

1 Like

@spizzerb , one comment.

The first

symbol-bootstrap start -p mainnet -a dual -c custom.yml

Can be changed to:

symbol-bootstrap config -p mainnet -a dual -c custom.yml

So you don’t need to stop the server to get the encrypted addresses.yml. The file will be created without running the server.

If the desktop wallet harvesting page displays “Activation in progress”, you still need to click the “Activate” button at the bottom to start harvesting.

That’s I already did, of course! Now it looks like that harvesting is working (at the bottom is just button “Stop Harvesting”), but still there is “Activation in progress” info (with yellow circle). When I activated the process, Importance of my account was 0% (now finally has non-zero percentage) … could be this the reason, why Harvesting process still isn’t “in green” ?

i’m still stuck on “Activation in progess” but in the bottom of Harveting wallet page i have only “Stop Harvering” nothing else… (my wallet has Importance > 0), stop harveting → changing node → relink all wokrs btw same message “Activation in progress”

@spizzerb this guide help to setup my two nodes and to link them with my two xym accounts.
Big thank you for this.

But now I am confused, it seems I miss an important fact here, both nodes show up in the list of nodes at Symbol node list
But they do not have the flag to be a SuperNodes.
Both linked accounts have enough xym to be eligible.

What do I miss?

The SuperNode Rewarding System is not yet active, the start of the community rewarding systems was delayed for two weeks. See this specific announcement for details.

However, some nodes probably already have enrolled for the SN program, based on the instructions for the testnet. That might be the reason some are displayed as supernodes on the page you mentioned, I’m assuming, as officially there can be none at the moment.
But there certainly will be other supernodes added when the guides with instructions for the reward program are published and supernodes can register.

1 Like

Node didn’t start.
symbol-bootstrap healthCheck:


got this after
symbol-bootstrap start -p mainnet -a dual -c custom.yml

Hey Dimas,

Hard to say what went wrong at this point. Maybe yo uwant to try to start over with the whole guide?

You could also join slack (Contributing — Symbol Documentation) to get support

1 Like