SHARDEUMÂ
Project 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​
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
sudo apt update && sudo apt upgrade -y
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
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
Set the password to access the Dashboard: {input your password}
Enter the port (1025-65536) to access the web based Dashboard (default 8080):
Set the first p2p port (default 9001):
This allows p2p communication between nodes. Enter the first port (1025-65536) for p2p communication (default 9001):
Set the second p2p port (default 10001):
Enter the second port (1025-65536) for p2p communication (default 10001):
Add a custom path or install to root:
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
curl https://ipinfo.io/ip
Replace EXTERNAL_IP with your IP address
export APP_IP="EXTERNAL_IP"
Open validator GUI
operator-cli gui start
On your browser go to the link,
replace youripaddress with your server IP
https://youripaddress:8080/
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
cd ..
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
operator-cli gui start
On your browser go to the link,
replace youripaddress with your server IP
https://youripaddress:8080/