README.md
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.
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
git clone https://github.com/shardeum/shardeum.git
cd shardeum
npm ci
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 options here
npm run prepare
npm install -g @shardeum-foundation/tools-shardus-cli
npm update @shardeum-foundation/archiver
To start a local Shardeum network with 10 nodes, run:
shardus start 10
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.
To test your local Shardeum network using MetaMask:
"YOUR-WALLET-ADDRESS": {
"wei": "200000000000000000000000000"
},
src/index.ts is mocked for all tests. You can see how its mocked out in the test/unit/setup.ts file. Don't import the index 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
/is-alive this endpoint returns 200 if the server is running./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.