- Notifications
You must be signed in to change notification settings - Fork691
Shardeum is an EVM based autoscaling blockchain
License
shardeum/shardeum
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An EVM-based autoscaling blockchain platform
- Introduction
- Features
- Getting Started
- Running the Network Locally
- Testing with MetaMask
- Testing with Jest
- 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
- Node.js (v18.19.1)
- npm (v10.2.4)
- Rust (v1.74.1)
- Docker (optional, for containerized deployment)
Shardeum requires specific versions of Nodejs, Rust and other build tools to run.
We have detailed setup instructionsin this page
Important
This is a crucial step, ensure your local environment is correctly set up before proceeding with the next steps
- Clone the repository:
git clone https://github.com/shardeum/shardeum.gitcd shardeum
- Install dependencies:
npm ci
- Network Configuration:
export LOAD_JSON_CONFIGS=[full-path-to-your-local-shardeum-repo]/debug-10-nodes.config.json
For instance, if your local shardeum repo is on this path/Users/john/Desktop/projects/shardeum/
then you would run:
export LOAD_JSON_CONFIGS=/Users/john/Desktop/projects/shardeum/debug-10-nodes.config.json
Learn more about the different config optionshere
- Compile project
npm run prepare
- Install the Shardus CLI:
npm install -g @shardeum-foundation/tools-shardus-clinpm update @shardeum-foundation/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.gitcd json-rpc-servernpm install
- Start the server:
npm run start
The default RPC URL ishttp://localhost:8080
.
To test your local Shardeum network using MetaMask:
- Install theMetaMask 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 thesrc/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"},
src/index.ts
is mocked for all tests. You can see how its mocked out in thetest/unit/setup.ts
file. Don't import theindex
file directly if you can since it has a lot of dependencies, import the specific files you need in your implementation or test files.
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 ourContribution Guidelines for more information. All contributors are expected to adhere to ourCode of Conduct.
This project is licensed under the MIT License. See theLICENSE file for details.
About
Shardeum is an EVM based autoscaling blockchain
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.