How to setup your own node in a blink of an eye (Now support multi-nodes per host)

Yes, this is correct. The script will automatically stop your containers prior to checking for new ones so you don’t need to stop them yourself.

That is correct. However, you will need to stop the container of that node and delete the data. Then remove the key from the script and re-run it.

1 Like

You still have to open the RPC port to be able to add the node to your incognito app and stake. Not sure if the incoming mainnet port is also needed for validators or just full nodes? Maybe someone else can answer that?

I’ve done a lot of experimenting with data sharing between nodes. Every node will create its unique data. You can however copy a node and change the validator keys and continue running, which means that “bootstrapping” is possible.

If your previous vNode is working as intended, you can copy all data to your new nodes.

3 Likes

Thanks for the guide and the script. Although, I’ve got some questions.

I’m trying to set up my very first virtual node. May I only know what value I have to type for VALIDATOR_K? It seems to me that it should be an alphanumeric string of some sort that I can retrieve somewhere.

Do I have to also run it as a full node to take rewards?

Do I have to change the INDEXER_ACCESS_TOKEN generating an hash from a random string?

Thanks in advance.

Hello @GGolov

Yes, you will need a validator key in order to run your vNode. This key can be found in your app under the wallet you plan on using for your vNode. Select Keychain from the home screen of the app. Next tap the key icon on the wallet you’d like to use. Here you will find the validator key (you can copy with the far right button).

No, a full node is not a validator and will not earn you rewards.

See below:

Please keep in mind that vNodes require 1750 PRV to be staked. Once you have acquired 1750 PRV simply transfer it to the wallet in the app you plan on using for your vNode.

While these instructions are outdated the steps to follow are not. Please read over this article to get an understanding of how setting up a vNode works.

3 Likes

I can’t seem to get the indexer working. When accessing the RPC I get the error

-13001: -13001: enhanced caching not supported by this node configuration

Looking at the run_incognito.sh file inside the container it says

--numindexerworkers=0 --indexeraccesstoken=$INDEXER_ACCESS_TOKEN 

Which means that it is always disabled?

In this example they set --numindexerworkers=100

When --numindexerworkers is set to 0 it will operate in basic mode only.

Read more here:

Thank you, yes I saw that setting 0 workers would disable the enhanced mode. But how do I do this with the docker container and the scripts from this thread? Does it require an updated docker image where run_incognito.sh reads the environment variable? Or is there something I can do?

Change this part of Rocky’s install script.

After you have changed those two lines just rerun your setup/install script.

If this doesn’t work let me know.

Nah, Rocky’s script passes on options by using environment variables when starting the docker container (-e flags). These are then read and used by the run_incognito.sh script inside the container. The problem is that in my docker container, the NUM_INDEXER_WORKERS and ENABLE_COIN_INDEXER are not used for anything.

As you can see here https://github.com/incognitochain/incognito-chain/blob/875cd37644bffc3583b39a47583968d4dce20b34/run_incognito.sh#L53 --numindexerworkers is hardcoded to 0

2 Likes

Ah, I see the issue now. I escalated this with the devs and they are having the code changed. This was changed prior and never changed back. Please note to use this environment variable you will have to be running a fullnode.

2 Likes

Hey guys @Rocky @Jared, if I have two vNodes on one server, and one of them with status latest and the second with status stall.

Should I restart the second one? If so can I do it separately, or do I have to restart both (they both are on the same server)?

image

Hello @andrey,

I have a handy guide for vNode operators helping with troubleshooting:

I would first try to restarting that stalled node with:

docker container stop inc_mainnet_#

(replace the # with the problematic node number. check docker ps for this)

To start just this node use:

docker container start inc_mainnet_#

(again change the # to your node number)

If restarting does not work follow the troubleshooting guide to stop the node. Delete stalled data (shard or beacon) and then restart the node.

3 Likes

@andrey!!!

3 Likes

Thanks @Jared, gonna try tonight )

@JG20 :wave:

2 Likes

6 Likes

Alright, thanks for the reply.

I’ve changed everything accordingly and waited for my 1750 PRVs to be withdrawn from the Provide. They are in my wallet now.

Now I’m the step 6 (Adding your node) of the guide How to host a Virtual Node (out dated)

I’ve added the node with the IP of the server + “:9433” but it shows that the node is not active, that I have to import a keychain and the name of the node in the list is only a dash. I’ve tried to import a keychain but it fairly states that it has already been imported into the app. I have no option to stake and pass to step 7.

I checked at https://monitor.incognito.org/node-monitor and the node is online with only the Beacon synced at the current block height (and still syncing) meanwhile it is blocked at block 1 for the 8 shards and it is not syncing; it also has, rightly, no stake.

What am I doing wrong?

1 Like

It’s the other port (RPC) you’re trying to add the node port.

2 Likes

Oh, now I get it. Thanks a lot. Now it is stakable.

2 Likes

Hey @Support,

To avoid the risks of Ethereum full-node centralization (i.e. infura), is it possible to use our own Ethereum full-nodes?

For example, I’m a StrongBlock (provides single-click Ethereum fullnode setup) operator and have multiple Ethereum full-nodes which are ready to use with their RPC and WSS endpoints.

Thanks.

Hi @abduraman,

I think you just need to change the GETH_NAME into your RPC fullnode URL then all is well.