Go back

How to get Ethereum Full Node on AZURE

This section describes how to launch and connect to Ethereum Full Node in Azure.

  1. Open Ethereum Full Node with PoS VM listing on Azure Marketplace

/img/azure/ethereum-fullnode/marketplace-new.png

  1. Click on Get It Now
  • Select a Resource group for your virtual machine
  • Select a Region where you want to launch the VM(such as East US)

/img/azure/ethereum-fullnode/basics-page-01.png

  • Note: If you see “This image is not compatible with selected security type. To keep trusted launch virtual machines, select a compatible image. Otherwise change your security type back to Standard” error message below the Image name as shown in the screenshot below then please change the Security type to Standard.

/img/azure/ethereum-fullnode/image-mismatch-error.png /img/azure/ethereum-fullnode/standard-security-type.png

  • Optionally change the number of cores and amount of memory.

Select the Authentication type as Password and enter Username as ubuntu and Password of your choice. /img/azure/ethereum-fullnode/basics-page-02.png

  • Optionally change the OS disk type.

/img/azure/javascript-developer-kit/disk.png

  • Optionally change the network and subnetwork names.Be sure that whichever network you specify has ports 22 (for ssh) and 3389 (for RDP) exposed.

/img/azure/ethereum-fullnode/network.png

  • Optionally go to the Management, Advanced and Tags tabs for any advance settings you want for the VM.
  • Click on Review + create and then click on Create when you are done.
    Virtual Machine will begin deploying.
  1. A summary page displays when the virtual machine is successfully created. Click on Go to resource link to go to the resource page. It will open an overview page of virtual machine.

/img/azure/ethereum-fullnode/vm-overview.png

  1. In the left navigation pane, select Run command, select RunShellScript and enter following command to change the password of the vm .
sudo echo ubuntu:yourpassword | chpasswd

/img/azure/run_command_option-01.png

/img/azure/run_command_change_passwd-01.png

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

  2. To connect using RDP via Windows Machine, first note the public IP address of the VM from VM details page as highlighted below

/img/azure/ethereum-fullnode/public-ip.png

  1. Then From you local windows machine, goto “start” menu, in the search box type and select “Remote desktop connection”.
    In the “Remote Desktop connection” wizard, copy the public IP address and click connect

/img/azure/javascript-developer-kit/rdp.png

  1. This will connect you to the VM’s desktop environment. Provide the username (e.g “ubuntu”) and the password set in the step4 to authenticate. Click OK

/img/azure/javascript-developer-kit/rdp-login.png

  1. Now you are connected to the out of box Ethereum Full Node with PoS environment via Windows Machine.

/img/azure/ethereum-fullnode/rdp-desktop.png

  1. 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, firstInstall Remmina as per your linux distribution.

/img/gcp/common/remmina-search.png 11. In the “Remmina Remote Desktop Client” wizard, select the RDP option from dropdown and paste the external ip and click enter.

/img/gcp/common/remmina-external-ip.png 12. This will connect you to the VM’s desktop environment. Provide “ubuntu” as the userid and the password set in above reset password step to authenticate. Click OK

/img/gcp/common/remmina-rdp-login.png 13. Now you are connected to out of box Ethereum Full Node with PoS environment via Linux machine.

/img/azure/ethereum-fullnode/rdp-desktop.png

  1. To SSH to the VM, Open putty paste the IP address and click on Open.

/img/aws/ethereum-fullnode/putty-01.png

  1. login as ubuntu and provide the password for ‘ubuntu’ user

/img/azure/ethereum-fullnode/ssh.png

  1. Ethereum Full Node directories:

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

  1. Monitoring and managing node sync process :

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

  1. Tracking sync progress

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/azure/ethereum-fullnode/loadscript.png

  1. Accessing Metamask Ethereum wallet

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

  1. 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.
  2. 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:

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

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

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

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

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

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

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

  • Accessing Metamask Ethereum wallet

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

  • If you want to connect Metamask on localhost, Please add port 8545 to the Security Group of your VM. Follow below steps to open port 8545:
  • On your VM’s detail page, click on networking tab : /img/azure/ethereum-fullnode/networking-8545.png
  • It will open networking details page. Click on Add inbound port rule. /img/azure/ethereum-fullnode/edit-inbound-rules.png
  • Make changes to the add inbound security rule page as highlighted below. Once done save the changes and restart your VM.

/img/azure/ethereum-fullnode/add-8545-rule.png

  • Now select localhost 8545 from Metamask Network dropdown. You should be able to connect to localhost as shown: /img/aws/ethereum-fullnode/select-localhost.png
  • If you don’t see localhost and other testnetwork options under network dropdown, please click on show/hide link as shown below-

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

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

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

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

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

Go back