Skip to main content

shardeum

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​

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

Setting Up Your Environment​

Shardeum requires specific versions of Nodejs, Rust and other build tools to run.

We have detailed setup instructions in this page

[!IMPORTANT] This is a crucial step, ensure your local environment is correctly set up before proceeding with the next steps

Installation​

  1. Clone the repository:
git clone https://github.com/shardeum/shardeum.git
cd shardeum
  1. Install dependencies:
npm ci
  1. Network Configuration:
git apply debug-10-nodes.patch

Learn more about the different config options here

  1. Compile project
npm run prepare
  1. Install the Shardus CLI:
npm install -g shardus
npm update @shardus/archiver

Running the Network Locally​

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

shardus start 10

Running the JSON-RPC Server​

  1. Clone the JSON-RPC server repository:
git clone https://github.com/shardeum/json-rpc-server.git
cd json-rpc-server
npm install
  1. Start the server:
npm run start

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

Testing with MetaMask​

To test your local Shardeum network using MetaMask:

  1. Install the MetaMask extension.
  2. Add the Shardeum network to MetaMask:

Stopping and Cleaning Up​

To stop the network and clean up resources:

shardus stop && shardus clean && rm -rf instances

Health Checks​

Diagnostic endpoints to check the health of the node

  • GET /is-alive this endpoint returns 200 if the server is running.
  • GET /is-healthy currently the same as /is-alive but will be expanded.

Contributing​

We welcome contributions! Please see our Contribution Guidelines for more information. All contributors are expected to adhere to our Code of Conduct.

Community​

License​

This project is licensed under the MIT License. See the LICENSE file for details.