Active
February 19, 2023

SHARDEUM 


Project Information


Official Information:

Description


Shardeum is an EVM based L1 that uses dynamic state sharding to achieve linearly scalability. This means Shardeum can increase its TPS capacity with each validator added to the network to retain low fees forever. In many state sharded blockchains, developers face challenges as they don't retain atomic composability across shards. However, Shardeum uses a novel architecture where atomic composability is retained. Shardeum provides the highest throughput capacity of any EVM based L1 without sacrificing on decentralization.

For developers, the experience of building on Shardeum is the same as other EVM chains, you can deploy contracts in Solidity or Vyper and there aren't any special considerations relative to sharding. You don't need to consider which shard you deploy your contract to as the network retains atomic composability with all applications. However, developers benefit from linear scaling on Shardeum as you no longer have to concern losing users due to rising gas fees. On Shardeum you can build truly decentralized applications that aren't limited by throughput bottlenecks.

Node Types


There are different types of Nodes in the Shardeum Networks

1. Validator​

Active​

These nodes validate the transactions in the network by participating in the consensus. They will have to stake SHM to be able to participate. Shardeum will reward them with SHM for participating (network rewards will come from predefined SHM emissions, and the transaction fees earned). Validator nodes don't store the whole history, so they are lightweight.

Standby​

These are validator nodes standing by in the network and not currently participating in consensus. Standby nodes help scale the Shardeum network quicker in times of traffic spikes. They may or may not need to stake SHM, but they may also earn a portion of the network rewards.

2. RPC​

These nodes are able to access the EVM Based JSON RPC interface that is used to read and write data on the Shardeum blockchain. Wallets must be connected to an RPC URL to interact with blockchains.

3. Archive​

Archive nodes maintain the entire transaction history. Archive nodes may or may not have to stake SHM, but they will earn a portion of the network reward to motivate and incentivize for storing historical data.

How to run a validator node


Benefits of operating a validator​

Running your own validator:

  • enhances Shardeum network security
  • earns testnet SHM from user transaction fees

Validating Transactions​

  • Shardeum validators perform consensus on transactions.
  • Shardeum validators with honest transaction consensus earn testnet SHM.
  • Shardeum validators with dishonest transaction consensus will have their testnet SHM slashed.

Minimum Hardware Requirements


  • ​250 GB SSD storage
  • Quad core CPU less than 10 years old If self hosting
  • Dual core CPU works if hosted with newer Xeons / EPYC
  • 16 GB of ram, 4+ GB of virtual memory recommended
  • Hosting: 8 GB RAM + 8 GB Virtual Memory

Launch


Preparation

Update packages

sudo  apt update &&  sudo  apt upgrade -y

Install dependencies

sudo apt-get install curl

Install Docker

sudo apt install docker.io

Check the Docker version, should be version 20.10.12 or higher

docker --version

Install Docker-Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Set the permissions

sudo chmod +x /usr/local/bin/docker-compose

Check the Docker version, should be version 1.29.2 or higher

docker-compose --version

Download and install the validator


Install the Shardeum Validator

curl -O https://gitlab.com/shardeum/validator/dashboard/-/raw/main/installer.sh && chmod +x installer.sh && ./installer.sh

Give permission to collect validator data for bug reporting:

Press y to setup the web based dashboard

Input your password

Set the password to access the Dashboard: {input your password}

Press Enter for port 8080:

Enter the port (1025-65536) to access the web based Dashboard (default 8080):

Set the first p2p port (default 9001):

press enter

This allows p2p communication between nodes. Enter the first port (1025-65536) for p2p communication (default 9001):

Set the second p2p port (default 10001):

press enter

Enter the second port (1025-65536) for p2p communication (default 10001):

Add a custom path or install to root:

Press Enter

What base directory should the node use (defaults to ~/.shardeum): 

Wait for the installation process to complete...

Open validator CLI


Get into the shardeum directory

cd && cd .shardeum

Start the CLI by running the following shell script:

./shell.sh

Get your node's external IP:

curl https://ipinfo.io/ip

Replace EXTERNAL_IP with your IP address

export APP_IP="EXTERNAL_IP"

Open validator GUI


Start the GUI

operator-cli gui start

On your browser go to the link,

replace youripaddress with your server IP

https://youripaddress:8080/

Click on Advanced

Proceed to connect

Input your Password and connect:

Start validator​


Go to the “Maintenance” page, then click the “Start Node” button in the top left white box:

Use the Faucet


Ensure you are on the Shardeum discord channel, then head to the faucet-2.1 use the faucet bot and input

/faucet metamask_wallet_address

Some SHM will be sent to your wallet.

Connect your wallet


Approve connection to your local wallets (e.g Metamask)

Staking


Stake some of your SHM into your validator node

Note: should be a minimum of 10 SHM and click stake to proceed. You can put 10 depending on the amount you got.

Dashboard should look like this after adding your stake.

Check the node status detail


Check the status of your node and wallet details.

operator-cli status

Or you can go to the performance to view your node health and status.

Update your Node


1. Stop and unstake your validator

2. If you're within the container enter

exit

and

cd ..

3. Enter

curl -O https://gitlab.com/shardeum/validator/dashboard/-/raw/main/installer.sh && chmod +x installer.sh && ./installer.sh

Accept the necessary terms and set at default

4. Get into the shardeum directory and start the validator

cd && cd .shardeum && ./shell.sh

5. Start the GUI

operator-cli gui start

On your browser go to the link,

replace youripaddress with your server IP

https://youripaddress:8080/

5. Stake 10 SHM

Thank you