PRODUCTS AND SUPPORT


How to get Ethereum Full Node with PoS on GCP(Google Cloud Platform)




This section describes how to launch and connect to Ethereum Full Node with PoS in a Google Compute environment using the available Cloud Launcher offering.


  1. Open Ethereum Full Node with PoS listing on GCP Marketplace
  2. Click Launch.
  3. /img/gcp/ethereum-fullnode/marketplace.png


    • Select a zone where you want to launch the VM(such as us-east1-)
    • Optionally change the number of cores and amount of memory. ( This defaults to 2 vCPUs and 4 GB ram)
    • Optionally change the boot disk type and size. (This defaults to 'Standard Persistent Disk' and size 220 GB respectively. For zone, you must select us-central1-a . The VM can be deployed only in us-central1-a)
    • Optionally change the network name and subnetwork names. Be sure that whichever network you specify has ports 22 (for ssh) and 3389 (for RDP) exposed.
    • Click Deploy when you are done.

      Ethereum Full Node with PoS will begin deploying.

    /img/gcp/ethereum-fullnode/gcp_bitcoin_launcher.png


  4. A summary page displays when the compute engine is successfully deployed. Click on the Instance link to go to the instance page .

  5. On the instance page, click on the "SSH" button, select "Open in browser window".

  6. /img/gcp/ethereum-fullnode/ssh-option.png


  7. This will open SSH window in a browser.
  8. Run below command to set the password for "ubuntu" user
  9. sudo passwd ubuntu

    /img/gcp/r-studio-support/ssh-passwd.png

  10. Now the password for ubuntu user is set, you can connect to the VM's desktop environment from any local windows machine using RDP or linux machine using Remmina.

  11. To connect using RDP via Windows machine, first note the external IP of the VM from VM details page as highlighted below

  12. /img/gcp/r-studio-support/external-ip.png

  13. Then From your local windows machine, goto "start" menu , in the search box type and select "Remote desktop connection"

  14. In the "Remote Desktop connection" wizard, paste the external ip and click connect

  15. /img/gcp/r-studio-support/rdp.png

  16. This will connect you to the VM's desktop environment. Provide "ubuntu" as the userid and the password set in step 6 to authenticate. Click OK

  17. /img/gcp/r-studio-support/rdp-login.png

  18. Now you are connected to out of box Ethereum Full Node with PoS environment via Windows machines.

  19. /img/gcp/ethereum-fullnode/rdp-desktop.png

  20. To connect using RDP via Linux machine, first note the external IP of the VM from VM details page,then from your local Linux machine, goto menu , in the search box type and select "Remmina".

    Note: If you don't have Remmina installed on your Linux machine, first Install Remmina as per your linux distribution.


  21. /img/gcp/common/remmina-search.png

  22. In the "Remmina Remote Desktop Client" wizard, select the RDP option from dropdown and paste the external ip and click enter.

  23. /img/gcp/common/remmina-external-ip.png

  24. This will connect you to the VM's desktop environment. Provide "ubuntu" as the userid and the password set in step 6 to authenticate. Click OK

  25. /img/gcp/common/remmina-rdp-login.png

  26. Now you are connected to out of box Ethereum Full Node with PoS environment via Linux machine.

  27. /img/gcp/ethereum-fullnode/rdp-desktop.png

  1. Ethereum Full Node directories:
  2. Ethereum home directory location is /home/ubuntu/ethereum

    /img/aws/ethereum-fullnode/ethereum-directory.png

    Data directory location is /home/ubuntu/ethereum/datadir

    /img/aws/ethereum-fullnode/ethereum-datadir.png

  3. Monitoring and managing node sync process :
  4. The VM automatically starts the sync process on startup. To verify if the sync is in progress, run below commands

    ps -ef|grep geth

    If sync is in progress , you will see the below highlighted process running

    /img/gcp/ethereum-fullnode/sync-process.png

    You can also verify the sync process by monitoring the sync log as shown below

    tail -f /var/log/cloud-init-output.log

    /img/aws/ethereum-fullnode/logs.png

    You can monitor the lighthouse logs by running -

    Note: If you encounter JWT authorization error or connection refused error while running the below command , please follow Lighthouse Troubleshooting Guide. to fix them.

    sudo journalctl -f -u lighthousebeacon.service -o cat | ccze -A

    /img/aws/ethereum-fullnode/lighthouse-logs.png

    To stop the sync process, simply run below command :

    sudo killall -HUP geth

    /img/aws/ethereum-fullnode/stop-sync.png

    To restart the sync process, run below command .
    Note: Make sure below command is executed from terminal inside Remote desktop GUI to avoid process termination

    sudo nohup geth --http --http.addr "0.0.0.0" --http.port "8545" --http.corsdomain "*" --config /home/ubuntu/ethereum/eth_config.toml >> /var/log/cloud-init-output.log 2>&1 &

    /img/gcp/ethereum-fullnode/restart-sync.png

  5. Tracking sync progress
  6. You can track the sync progress by attaching to the running geth console and running the monitoring script as shown below . Note that if the progress is shown 99% then the node is mostly synced:

    sudo geth attach --datadir /home/ubuntu/ethereum/datadir/

    /img/aws/ethereum-fullnode/geth-attach.png

    this will connect to the console, then run

    loadScript("/home/ubuntu/ethereum/sync_status.js")

    /img/aws/ethereum-fullnode/loadscript.png

  7. Accessing Metamask Ethereum wallet
  8. The VM comes with Metamask the most popular Ethereum wallet , preinstalled in Firefox browser.
    Connect to the VM via Remote desktop , open the Firefox Browser and you will see metamask plugin in the browser

    /img/aws/ethereum-fullnode/firefox-metamask.png

  9. Click on the Metamask icon, complete the configuration by following the instructions.
    Once the Metamask is configured, you wil see Metamask is running on Ethereum Mainnet Network.
  10. If you want to connect Metamask on localhost, select localhost 8545 from Metamask Network dropdown. You should be able to connect to localhost as shown:

  11. /img/aws/ethereum-fullnode/select-localhost.png

  12. If you don't see localhost and other testnetwork options under network dropdown, please click on show/hide link as shown below-

  13. /img/gcp/ethereum-fullnode/show-test-network.png

  14. It will take you to setting menu. Here you enable show test network option and save the changes.

  15. /img/gcp/ethereum-fullnode/enable-testnet.png

  16. Close the setting page and reopen network dropdown. Now you should be able to see all the test networks.

  17. /img/gcp/ethereum-fullnode/all-networks.png