An EVM-based autoscaling blockchain platform
- Introduction
- Features
- Getting Started
- Running the Network Locally
- Testing with MetaMask
- Stopping and Cleaning Up
- Health Checks
- Contributing
- Community
- License
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.
- 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
- First, setup your local dev environment for Shardeum
- Node.js (v18.16.1)
- npm (v9.5.1)
- Rust (v1.74.1)
- Docker (optional, for containerized deployment)
- Clone the repository:
git clone https://github.com/shardeum/shardeum.git
cd shardeum
- Install dependencies:
npm ci
- Network Configuration:
git apply debug-10-nodes.patch
Learn more about the different config options here
- Compile project
npm run prepare
- Install the Shardus CLI:
npm install -g shardus
npm update @shardus/archiver
To start a local Shardeum network with 10 nodes, run:
shardus start 10
- 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 start
The default RPC URL is http://localhost:8080
.
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/
To stop the network and clean up resources:
shardus stop && shardus clean && rm -rf instances
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.
We welcome contributions! Please see our Contribution Guidelines for more information. All contributors are expected to adhere to our Code of Conduct.
This project is licensed under the MIT License. See the LICENSE file for details.