An EVM-based autoscaling blockchain platform
Table of Contents
- Introduction
- Features
- Getting Started
- Running the Network Locally
- Testing with MetaMask
- Stopping and Cleaning Up
- Health Checks
- Contributing
- Community
- License
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.19.1)
- npm (v10.2.4)
- 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
- Clone the repository:
git clone https://github.com/shardeum/shardeum.git
cd shardeum- Install dependencies:
npm ci- Network Configuration:
export LOAD_JSON_CONFIGS=debug-10-nodes.config.jsonLearn more about the different config options here
- Compile project
npm run prepare- Install the Shardus CLI:
npm install -g @shardeum-foundation/tools-shardus-cli
npm update @shardeum-foundation/archiverRunning the Network Locally
To start a local Shardeum network with 10 nodes, run:
shardus start 10Running the JSON-RPC Server
- Clone the JSON-RPC server repository:
git clone https://github.com/shardeum/json-rpc-server.git
cd json-rpc-server
npm install- Start the server:
npm run startThe default RPC URL is http://localhost:8080.
Testing with MetaMask
To test your local Shardeum network using MetaMask:
- Install the MetaMask extension.
- Add the Shardeum network to MetaMask:
- Network Name: Shardeum
- RPC URL: http://localhost:8080
- Chain ID: 8082
- Currency Symbol: SHM
- Block Explorer URL: http://localhost:6001/
- Obtaining Test Tokens and Configuring the Genesis File: To receive SHM tokens for testing on your local Shardeum network, you need to add your wallet address to the src/config/genesis.json file. Open this file in a text editor and add an entry for your wallet address with the desired SHM balance like this:
"YOUR-WALLET-ADDRESS": {
"wei": "200000000000000000000000000"
},Stopping and Cleaning Up
To stop the network and clean up resources:
shardus stop && shardus clean && rm -rf instancesHealth Checks
Diagnostic endpoints to check the health of the node
- GET
/is-alivethis endpoint returns 200 if the server is running. - GET
/is-healthycurrently the same as/is-alivebut 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.
