How to Set Up an EVM-Based Autoscaling Blockchain with Shardeum

Mar 23, 2024 | Blockchain

In a world where applications need to be highly scalable and efficient, Shardeum comes to the forefront as an EVM-compliant blockchain platform designed to scale automatically and effectively. This guide will walk you through setting up Shardeum step-by-step, ensuring you’re equipped to leverage its powerful features.

Table of Contents

Introduction

Shardeum is an innovative EVM-compliant blockchain platform that leverages dynamic state sharding to achieve unprecedented scalability. By implementing a sharding model, Shardeum ensures faster processing times and lower transaction costs without compromising security or decentralization.

Features

  • Scalability: Horizontal scalability through sharding
  • High Performance: Low latency and high throughput
  • Security: Advanced cryptographic techniques and robust consensus protocols
  • Decentralization: Truly decentralized network with no single point of failure
  • Interoperability: EVM compatibility for existing DApps and smart contracts

Getting Started

Prerequisites

Before you dive in, make sure you have the following prerequisites installed:

  • Node.js (v18.16.1)
  • npm (v9.5.1)
  • Rust (v1.74.1)
  • Docker (optional, for containerized deployment)

Installation

Follow these steps to install Shardeum:

git clone https://github.com/shardeum/shardeum.git
cd shardeum
npm ci
git apply debug-10-nodes.patch
npm run prepare
npm install -g shardus
npm update @shardusarchiver

Running the Network Locally

To start a local Shardeum network with 10 nodes, simply run:

shardus start 10

Running the JSON-RPC Server

git clone https://github.com/shardeum/json-rpc-server.git
cd json-rpc-server
npm install
npm run start

The default RPC URL is http://localhost:8080.

Testing with MetaMask

Now it’s time to connect your local Shardeum network with MetaMask:

  1. Install the MetaMask extension.
  2. Add the Shardeum network to MetaMask:
  3. To obtain test tokens and configure the genesis file, open src/config/genesis.json in a text editor and add your wallet address with the desired SHM balance:
    YOUR-WALLET-ADDRESS: { wei: 200000000000000000000000000 },
    

Stopping and Cleaning Up

To halt the network and clean up resources, use:

shardus stop
shardus clean
rm -rf instances

Health Checks

You can check the status of your nodes using the following endpoints:

  • GET is-alive: Returns 200 if the server is running.
  • GET is-healthy: Currently the same as is-alive but will be expanded in future.

Contributing

We welcome contributions to Shardeum! Please refer to our Contribution Guidelines for more information.

Community

Join our discussions and follow us on:

License

This project is licensed under the MIT License. For details, see the LICENSE file.

Troubleshooting

If you encounter issues during setup, consider the following:

  • Make sure all prerequisites are installed, and their versions match.
  • Ensure you’re running the correct commands in the intended directory.
  • Check for any syntax errors or typos in configuration files.
  • For connection issues with MetaMask, verify the RPC URL is set accurately.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox