Volver al ranking

shardeum/shardeum

TypeScriptshardeum.org

Shardeum is an EVM based autoscaling blockchain

blockchaindappethereumevmevm-blockchainpaymentsshardingtypescript
Crecimiento de estrellas
Estrellas
31.3k
Forks
703
Crecimiento semanal
Issues
4
31.3k31.3k31.3k31.3k31.3k
mar 2024dic 2024oct 2025jul 2026
Artefactosnpmnpm install shardeum
README

Shardeum Logo

An EVM-based autoscaling blockchain platform

License Discord Twitter

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.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

  1. Clone the repository:
git clone https://github.com/shardeum/shardeum.git
cd shardeum
  1. Install dependencies:
npm ci
  1. 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 options here

  1. Compile project
npm run prepare
  1. Install the Shardus CLI:
npm install -g @shardeum-foundation/tools-shardus-cli
npm update @shardeum-foundation/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:
  1. 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"
},

Testing with Jest

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.

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.

Repositorios relacionados
unionlabs/union

The trust-minimized, zero-knowledge bridging protocol, designed for censorship resistance, extremely high security, and usage in decentralized finance.

Rustcrates.ioApache License 2.0blockchaincosmos
union.build
73.9k3.9k
FuelLabs/fuel-core

Rust full node implementation of the Fuel v2 protocol.

Rustcrates.ioOtherblockchainfuel
57k2.9k
ethereum/go-ethereum

Go implementation of the Ethereum protocol

GoGo ModulesGNU Lesser General Public License v3.0goblockchain
geth.ethereum.org
51.2k22k
anoma/anoma

Reference implementation of Anoma

ElixirMIT Licensecryptographyblockchain
anoma.net
33.7k4.1k
linera-io/linera-protocol

Main repository for the Linera protocol

Rustcrates.ioApache License 2.0blockchainrust
32.2k2.4k
slymnoyann/hey-1

Hey is a decentralized and permissionless social media app built with Lens Protocol 🌿

TypeScriptnpmGNU General Public License v3.0web3blockchain
hey.xyz
29.4k1.8k
argotorg/solidity

Solidity, the Smart Contract Programming Language

C++GNU General Public License v3.0cppethereum
soliditylang.org
25.7k6.1k
bitcoinbook/bitcoinbook

Mastering Bitcoin 3rd Edition - Programming the Open Blockchain

HTMLOtherbitcoinbitcoin-api
aantonop.com/books
25.3k6.2k
zama-ai/fhevm

FHEVM, a full-stack framework for integrating Fully Homomorphic Encryption (FHE) with blockchain applications

Rustcrates.ioOtherblockchainfhe
25.2k2k
heyverse/hey

Hey is a decentralized and permissionless social media app built with Lens Protocol 🌿

TypeScriptnpmGNU Affero General Public License v3.0web3blockchain
hey.xyz
25k1.6k
ethereum/solidity

Solidity, the Smart Contract Programming Language

C++GNU General Public License v3.0cppethereum
soliditylang.org
24k6k
heyxyz/hey

Hey is a decentralized and permissionless social media app built with Lens Protocol 🌿

TypeScriptnpmweb3blockchain
hey.xyz
23.9k1.6k