Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

LAUNCHING A FULL NODE ON BINANCE SMART CHAIN WITH ERIGON

Description

A tutorial demonstrating the process of deploying a full node on Binance Smart Chain using the Erigon client.

Assignee

C. J. (Unlicensed)

Key Resource

Node Provider Demo - 10 Feb 2022 (Meeting Recording)

Document Status

DRAFT


00 PREREQUISITES

0.1 – System Requirements

Specification

Minimum Requirement

Used for Demo

Hardware

Linux / Mac / Windows system running the latest OS version

MacBook Pro running MacOS Monterey 12.2

SSD / NVMe Storage

≥ 2 TB

7.68 TB

RAM

≥ 16 GB

256 GB

Server OS

Linux OS (64-bit)

Ubuntu Server 20.04.3

Network Settings

  • SSH enabled

  • TDP / UDP traffic enabled

0.2 – Hardware & Software

  1. Linux, Mac, or Windows computer running the latest operating system (OS) version.
    (For Demo: MacBook Pro + MacOS Monterey 12.2)

  2. Terminal Emulator / SSH Client

  3. Login credentials for the server being accessed.

0.3 – Secure Shell (SSH)

0.3.1 – Enabling Secure Shell (SSH)

To access the server remotely, the user must enable Secure Shell (SSH) on their home system.

  1. Open Terminal.

  2. Run the systemsetup command to Enable SSH:

    sudo systemsetup -setremotelogin on
    Password: {Admin Password}

0.3.2 Disabling SSH

Following the session - and anytime the server is not being accessed - it is best practice to disable SSH on the home system for ensured security.

  1. Disable SSH by running this Terminal command/s:

    sudo systemsetup -setremotelogin off
    Password: {Admin Password}

01 SETTING UP THE NODE SERVER

1.1 – Connect to the Server via SSH

  1. To access the server with SSH, run the following Terminal command/s (replacing the details inside the {brackets} with your provided credentials):

    ssh {user}@{server.ip}
    Password: {User Password}

1.2 – Prepare the Server for Node Operation

Once you’re connected to the server with SSH, follow the steps below to setup and install the dependencies required for your node.

  1. Update the Ubuntu System.

    sudo apt update   #Downloads Linux package updates.
    sudo apt upgrade  #Installs upgradeable OS components.
    • Important: When prompted to enter (Y/n) to continue, type 'y' and hit Enter.

  2. Install GoLang.

    1. Check the current version of Go.

      go version
    2. Use purge to remove the existing version; then, use wget to install the latest version.

      sudo apt-get purge golang*  #Removes the existing Go version.
      wget https://go.dev/dl/go1.17.7.linux-amd64.tar.gz  #Installs the current version (go1.17.7 as of 2022-02-14).
      sudo tar -C /usr/local -xzf go1.11.4.linux-amd64.tar.gz   #Extracts Go in the /usr/local folder
      mkdir ~/.go
    3. Set the environmental variables for $PATH.

      GOROOT=/usr/local/go
      GOPATH=~/.go
      PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    4. Update the Go command.

      sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 0
      sudo update-alternatives --set go /usr/local/go/bin/go
    5. Confirm Go was updated to the latest version.

      go version

02 Install Dependencies

2.1 Viewing and Verifying the Server’s Components

Run the List Block command to view drives and partitions installed on the server.

lsblk

$ sudo apt-get update
$ sudo apt dist-upgrade -y
$ sudo apt autoremove -y
$ sudo apt install git
$ sudo apt install npm

Top-level Updates

The following demonstration will exhibit the step-by-step processes of:

  1. Logging into the system

    1. Username & password login by default

    2. Secure user credentials with a Public SSH Key.

      1. Option A → Run ssh-keygen command:

        ssh-keygen -t rsa

         
      2. Option B → ls -al .ssh

      3. fdafdasd

        ssh-keygen -t rsa
  2. Get Erigon

  3. Run Erigon + Setup as a service so it will run again after rebooting

  4. Change the hostname of the server

  5. Make an exception for SSH, then turn on the firewall.

  6. Open Erigon port 30303 through the firewall to allow incoming connections to the node (allows for a trustless, distributed system).

  7. Setup DNS so it can be accessed with a domain name.

  • No labels