How to host a Virtual Node

Hi
What I’ve used is watch.incognito.market to help gauge the epoch end point. No gaurrantee you’ll get in but it let’s you know. If you unstake it will take time just note there are 1710 plus nodes online. Unless you need to use the coin elsewhere I’d suggest leave add a few PRV to the provide and let that subsidize the down earning on the node. I really view the node as a long term slow but eventually steady earner, plus network secure. I wouldn’t suggest the 1750 node unless you can afford to sit it on the line and be patient. As for your PRV earned I think you can withdraw it anytime, but I’d pull it whenever it pops up and dump into provide.

1 Like

Hey @Linnovations!

I think there is an issue with my virtual node as I have not received any rewards for 3 days now and hence I want to un-stake and then re-stake later.

Rewards are based on a random selection so there is a chance that the Vnode has not received rewards for 3 days, Jamie made a nice post to explain this a bit further The Algorithm of Probability for Node Selection

When I go to the app and click on “Power - Run a Node” I am greeted with a screen that shows my virtual node having a balance of “0” PRV.
I then click on “Unstake” and it says “Balance: 7.8781 PRV”. I’m confused which balance is correct?

Hmm thats rather odd, most reward cycles for a vnode are a bit higher, what version of the app are you running? Try restarting your app or your phone and see if that fixes it or if there is an update to install.

Also, on the unstaking screen it states:
“Unstaking will complete after the next time you earn.”
I’m scared proceeding because what happens if I unstake, will my node disappears from the app?

That is correct the unstaking process happens after the next time you earn. I dont think your node disappears from the app even when its fully unstaked (unstaked and you earned on the next cycle)

I am worried that my staked 1750 PRV will be lost in limbo and unable to be retrieved.
Can anyone assure me this will not happen?
Will I have any recourse as I don’t want to lose my staked amount?

Your tokens will not be lost in limbo, the stake of a node is tied to your validator key. it is locked on chain. as long as you have the private key for that account, your coins cant be lost, even when unstaking/withdrawing goes south.

5 Likes

Many thanks for addressing my questions @Chucky.

I believe I’m running the latest App version - v3.7.13 (it has the pin at the top on the Home screen which was added very recently).

Let’s say my Virtual Node is broken. I then decide to unstake in the mobile app. As the message says, “Unstaking will complete after the next time you earn.” But that may never happen as my virtual node is broken.

Can you please explain to me how I would go about retrieving my staked PRV that is locked up?

You should be good to go on this. I will take a look at my vNodes and look for other outward facing ports and report back.

Open the ports on your router and you should see a green check mark on the app and also check canyouseeme website.

1 Like

Hey @Linnovations Vnodes arent usually broken. Unless you are setting this up on a home computer in which you may have some issues (compatibility, ports, docker missing, etc)
If your home setup doesnt go well, i suggest getting a temporary VPS (contabo, vultr, digital ocean) to easily run your node without problems, add the new ip of the node to your app, do the unstaking process and once unstaking is fully complete(You clicked unstake and earned for one last cycle) you can shut down your VPS. This may not be very convenient but thats how the current structure works unfortunately.

Hope that helped!

4 Likes

8 posts were split to a new topic: Hosting a Virtual Node from Home

A post was merged into an existing topic: Hosting a Virtual Node from Home

Hi anon,
I rent an ubuntu server on Digital Ocean. But I used the console of my Windows PC to run it and not the Console in Digital Ocean. If now I close the console on my laptop, the node stop working?
Update: I close console on my laptop but on Digital Ocean server seems to be still high usage of CPU so I guess node is still live, can someone confirm it? Thanks :slight_smile:

Your node being active relates to the server it is running on, not the device the software was started with.

who is anon?

1 Like

anonymous! :rofl:
How can I check if my vnode is live and is working before staking 1750prv?

:joy: we have a user who picked that name, so it looks a bit weird. At first I thought you were replying to his messages and ended up creating new posts instead.

All you need to check your vNode is in this post

1 Like

@khanhj. Is the run_2.sh script still valid with all the changes that have been made, specifically, the eth_mainnet is commented out here, do we no longer need eth_mainnet running on vNodes?

If we do, how would you modify this script to add it back? More specifically, how would you add it into this script:

I tired to modify the script above to add the:

docker network create --driver bridge inc_net || true    
docker run -ti --restart=always --net inc_net -d -p 8545:8545  -p 30303:30303 -p 30303:30303/udp -v $PWD/eth-mainnet-data:/home/parity/.local/share/io.parity.ethereum/ --name eth_mainnet  parity/parity:stable --light --jsonrpc-interface all --jsonrpc-hosts all  --jsonrpc-apis all --mode last --base-path=/home/parity/.local/share/io.parity.ethereum/

but the eth_mainnet container seems to be restarting all the time… the inc_mainnet’s are running and syncing fine

here is the relevant code snippet:

  docker pull incognitochain/incognito-mainnet:${latest_tag}                                                                                                                                    
  docker network create --driver bridge inc_net || true                                                                                                                                         
                                                                                                                                                                                            
  docker run -ti --restart=always --net inc_net -d -p 8545:8545  -p 30303:30303 -p 30303:30303/udp -v $PWD/${eth_data_dir}:/home/parity/.local/share/io.parity.ethereum/ --name eth_mainnet  parity/parity:stable --light --jsonrpc-interface all --jsonrpc-hosts all  --jsonrpc-apis all --mode last --base-path=/home/parity/.local/share/io.parity.ethereum/  
                                                                                                                                                                                            
for i in "${!validator_keys[@]}"                                                                                                                                                              
 do                                                                                                                                                                                            
  docker run --restart=always --net inc_net -p $((9334 + $i)):$((9334 + $i)) -p $((9433 + $i)):$((9433 + $i)) -e NODE_PORT=$((9433 + $i)) -e RPC_PORT=$((9334 + $i)) -e BOOTNODE_IP=$bootnode -e MININGKEY=${validator_keys[$i]} -e TESTNET=false -v $PWD/data${i}:/data -d --name inc_mainnet_${i} incognitochain/incognito-mainnet:${latest_tag}      
done

CC: @Jared @mesquka @sid

you don’t need that container running anymore.

1 Like

Hey @doc,

I personally prefer using Infura (a 3rd party service - free 100000 requests/day). As running eth-client docker will consume server power/resource.

Please check this file: run_3.sh for sample config

2 Likes

Thanks @khanhj… do we need the eth-client (or Infura) running on our vNodes anymore? From @Jamie comment, I didnt think it was needed… but with the updated script your provided, it sorta looks like we do, so just wanted to get some clarification on this too. Thanks!

For now Infura/eth-client required to verify blocks that have shield/unshield transaction.
We’re working on the upgrade that validator doesnt require eth-client anymore. Will keep u guys inform when this release.

2 Likes

@khanhj Will it affect node earnings or selection if we are not running eth_mainnet?

1 Like

Hi @Jared,

  • Committee selection is totally random.
  • Eth-client(parity) or Infura is required to validate new shard blocks
1 Like

@khanhj Just an FYI… based upon comments seen in this thread and others, I dont think everyone is running an Eth-clinet on their vNode… I dont really understand what the repercussion of this is, as I know I had vNode selected, part of committee for multiple epochs and it did not have the eth-client running.

I plan on adding it back now that you have stated it is needed, and provided the updated script for showing how to add it… but I am not sure wha this means for the chain, that we have several people running vNodes without an eth-client.

Fastest way to add eth_mainnet back to your server is to just rerun the script.