QuipNetwork/quip-validatorPublic

A rust implementation of the Quip Protocol forked from Substrate

AI summary: A minimal, out-of-the-box Substrate node template for rapid blockchain prototyping in Rust.

Stars
5.6K
Forks
32
Watchers
8
Open issues
4
Open PRs
0
Contributors
~5
Commits
305
Branches
45

RustUnlicenseCreated Apr 2, 2026Last push 3d ago+-4 this month

Quick answers

What is quip-validator?
A minimal, out-of-the-box Substrate node template for rapid blockchain prototyping in Rust.
What does quip-validator do?
The Quip Protocol RS repository provides a streamlined, functional Substrate node template designed to serve as a starting point for building custom blockchains. It pre-configures essential components of the Substrate framework, allowing developers to immediately compile and run a local, single-node network without complex initial setup. The project focuses on minimizing boilerplate code, providing a clean slate for developers to integrate their own custom runtime logic, known as pallets. By offering a ready-to-run environment, it significantly accelerates the initial prototyping phase for decentralized applications and bespoke blockchain networks.
Who is quip-validator for?
Blockchain developers, Rust engineers, and students looking for a reliable, minimal starting point to build custom networks using the Substrate framework.
How do I get started with quip-validator?
cargo build --release
How popular is quip-validator on GitHub?
QuipNetwork/quip-validator has 5,636 stars and 32 forks on GitHub.
What license does quip-validator use?
QuipNetwork/quip-validator is released under the Unlicense license.

Star history

since Jul 28, 2026
02K4KJul 2026Aug 2026Sep 2026Oct 2026
5.6K stars as of Oct 4, 2026. Measured daily since Jul 28, 2026; GitHub no longer exposes earlier star timestamps.

Update history

1 recorded
  • Oct 4, 2026Previously tracked as QuipNetwork/quip-protocol-rs; its 1 daily snapshot and 1 trending appearance were merged into this profile. Stars: 5,650 on 2026-07-28 under the old name, 5,636 on 2026-10-04 (-14).

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 1 commit2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 2 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 1 commit2026-04-08: 1 commit2026-04-09: 0 commits2026-04-10: 1 commit2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 1 commit2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 3 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 2 commits2026-05-14: 0 commits2026-05-15: 2 commits2026-05-16: 0 commits2026-05-17: 4 commits2026-05-18: 4 commits2026-05-19: 0 commits2026-05-20: 8 commits2026-05-21: 6 commits2026-05-22: 3 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 1 commit2026-05-26: 0 commits2026-05-27: 1 commit2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 2 commits2026-06-02: 0 commits2026-06-03: 1 commit2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 1 commit2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 3 commits2026-06-11: 5 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 4 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 11 commits2026-06-23: 9 commits2026-06-24: 8 commits2026-06-25: 1 commit2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 5 commits2026-06-29: 10 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 13 commits2026-07-04: 2 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 2 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 1 commit2026-07-22: 0 commits2026-07-23: 1 commit2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 1 commit2026-07-29: 1 commit2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 2 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 1 commit2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 1 commit2026-08-13: 10 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 4 commits2026-08-20: 3 commits2026-08-21: 2 commits2026-08-22: 5 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 1 commit2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 7 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 9 commits2026-09-01: 3 commits2026-09-02: 4 commits2026-09-03: 2 commits2026-09-04: 0 commits2026-09-05: 3 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 2 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 10 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 12 commits2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 4 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 2 commits2026-09-22: 12 commits2026-09-23: 1 commit2026-09-24: 2 commits2026-09-25: 0 commits2026-09-26: 0 commits2026-09-27: 0 commits2026-09-28: 0 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
224 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Permissive license

    Unlicense

What quip-validator does

The Quip Protocol RS repository provides a streamlined, functional Substrate node template designed to serve as a starting point for building custom blockchains. It pre-configures essential components of the Substrate framework, allowing developers to immediately compile and run a local, single-node network without complex initial setup. The project focuses on minimizing boilerplate code, providing a clean slate for developers to integrate their own custom runtime logic, known as pallets. By offering a ready-to-run environment, it significantly accelerates the initial prototyping phase for decentralized applications and bespoke blockchain networks.

Blockchain developers, Rust engineers, and students looking for a reliable, minimal starting point to build custom networks using the Substrate framework.

  • Minimalist node configuration: Provides a stripped-down, essential Substrate setup that avoids unnecessary pre-installed pallets and bloat.
  • Out-of-the-box compilation: Ensures the node can be immediately compiled and launched as a local development network using standard Rust tooling.
  • Custom pallet readiness: Offers a clean, documented runtime environment specifically structured for the easy integration of custom business logic.
  • Standardized Substrate architecture: Adheres strictly to the established design patterns and conventions of the broader Polkadot and Substrate ecosystem.
  • Local development focus: Optimizes the initial configuration for rapid, single-node testing rather than immediate production deployment.

Where teams use it

Rapid blockchain prototyping

A development team uses the template to quickly spin up a functional local network to demonstrate a new decentralized application concept.

Custom pallet development

Provide a clean, isolated environment to develop and test custom Substrate pallets before integrating them into a larger, complex network.

Educational experimentation

Allow developers to explore the Substrate framework and learn core blockchain architecture by modifying a working, minimal node.

Hackathon project acceleration

Accelerate the development of blockchain prototypes during hackathons by providing a reliable, ready-to-run node template.

Getting started: cargo build --release

README

main branch

Quip Network node

Quip Network solochain node (quip-network-node).

Chain specs

Omit --chain to join the live public Quip Testnet (EIP-155 20033). --chain=local is a disposable Alice-and-Bob chain. It is not the public testnet.

Flag Preset Network EIP-155
(omit --chain) quip-testnet live public testnet 20033
--chain=quip-testnet quip-testnet live public testnet 20033
--dev or --chain=dev Development Alice-only local 1337
--chain=local Local Testnet Alice and Bob local 1337
--chain=local3 Local Testnet (3 Validators) Alice, Bob, and Charlie local 1337

Aliases for the public testnet: quip_testnet, testnet. A path argument loads that JSON file and uses the chain ID in its genesis.

Runtime 117 is the H2/H4 chain-wipe relaunch. It starts from fresh genesis and is not an in-place upgrade of the earlier H1/H3 network. Operators must use a fresh chain database, re-insert the H4 BABE and H2 GRANDPA keys, and sync from the new genesis; old signed extrinsics are incompatible (transaction_version is 7).

Getting Started

Depending on your operating system and Rust version, there might be additional packages required to compile this template. Check the Install instructions for your platform for the most common dependencies. Alternatively, you can use one of the alternative installation options.

Fetch solochain template code:

git clone https://github.com/paritytech/polkadot-sdk-solochain-template.git solochain-template

cd solochain-template

Build

🔨 Use the following command to build the node without launching it:

cargo build --release

Join the live public testnet

Omit --chain to select quip-testnet (EIP-155 20033).

# Live public testnet (EIP-155 20033). Default if you omit --chain.
./target/release/quip-network-node

Embedded Docs

After you build the project, you can use the following command to explore its parameters and subcommands:

./target/release/solochain-template-node -h

You can generate and view the Rust Docs for this template with this command:

cargo +nightly doc --open

Single-Node Development Chain

The following command starts a single-node development chain that does not persist state. --dev is the Alice-only local preset (EIP-155 1337), not the public testnet.

# Alice-only local chain (EIP-155 1337)
./target/release/solochain-template-node --dev

To purge the development chain's state, run the following command:

# Alice-only local chain (EIP-155 1337)
./target/release/solochain-template-node purge-chain --dev

To start the development chain with detailed logging, run the following command:

# Alice-only local chain (EIP-155 1337)
RUST_BACKTRACE=1 ./target/release/solochain-template-node -ldebug --dev

Development chains (--dev / --chain=dev):

  • Maintain state in a tmp folder while the node is running.
  • Use the Alice account as the sole validator authority.
  • Use the Alice account as the default sudo account.
  • Are preconfigured with a genesis state (/node/src/chain_spec.rs) that includes several pre-funded development accounts.
  • Use EIP-155 chain ID 1337.

To persist chain state between runs, specify a base path by running a command similar to the following:

// Create a folder to use as the db base path
$ mkdir my-chain-state

// Alice-only local chain (EIP-155 1337)
$ ./target/release/solochain-template-node --dev --base-path ./my-chain-state/

// Check the folder structure created inside the base path after running the chain
$ ls ./my-chain-state
chains
$ ls ./my-chain-state/chains/
dev
$ ls ./my-chain-state/chains/dev
db keystore network

Connect with Polkadot-JS Apps Front-End

After you start the node template locally, you can interact with it using the hosted version of the Polkadot/Substrate Portal front-end by connecting to the local node endpoint. A hosted version is also available on IPFS. You can also find the source code and instructions for hosting your own instance in the polkadot-js/apps repository.

Quip uses hybrid BABE and GRANDPA consensus keys. Polkadot.js Apps does not require custom types for Quip anymore; for usage notes, see docs/polkadotjs/README.md.

Multi-Node Local Testnet

A scripted three-validator local network is available two ways. Both use --chain=local3 (EIP-155 1337). This is not the public testnet.

  • Native build: scripts/start-local3.sh builds the debug binary and starts three validators (Alice/Bob/Charlie) against the embedded local3 chain spec.
  • Docker: docker compose up --build starts the same three-validator topology in containers. See the Docker section below.

Both paths use the same hardcoded libp2p node-keys and bootnode peer ID, so they're interchangeable for development.

For background on multi-node consensus, see Simulate a network.

Template Structure

A Substrate project such as this consists of a number of components that are spread across a few directories.

Node

A blockchain node is an application that allows users to participate in a blockchain network. Substrate-based blockchain nodes expose a number of capabilities:

  • Networking: Substrate nodes use the libp2p networking stack to allow the nodes in the network to communicate with one another.
  • Consensus: Blockchains must have a way to come to consensus on the state of the network. Substrate makes it possible to supply custom consensus engines and also ships with several consensus mechanisms that have been built on top of Web3 Foundation research.
  • RPC Server: A remote procedure call (RPC) server is used to interact with Substrate nodes.

There are several files in the node directory. Take special note of the following:

  • chain_spec.rs: A chain specification is a source code file that defines a Substrate chain's initial (genesis) state. Chain specifications are useful for development and testing, and critical when architecting the launch of a production chain. Take note of the development_config and testnet_genesis functions. These functions are used to define the genesis state for the local development chain configuration. These functions identify some well-known accounts and use them to configure the blockchain's initial state.
  • service.rs: This file defines the node implementation. Take note of the libraries that this file imports and the names of the functions it invokes. In particular, there are references to consensus-related topics, such as the block finalization and forks and other consensus mechanisms such as BABE for block authoring and GRANDPA for finality.

Runtime

In Substrate, the terms "runtime" and "state transition function" are analogous. Both terms refer to the core logic of the blockchain that is responsible for validating blocks and executing the state changes they define. The Substrate project in this repository uses FRAME to construct a blockchain runtime. FRAME allows runtime developers to declare domain-specific logic in modules called "pallets". At the heart of FRAME is a helpful macro language that makes it easy to create pallets and flexibly compose them to create blockchains that can address a variety of needs.

Review the FRAME runtime implementation included in this template and note the following:

  • This file configures several pallets to include in the runtime. Each pallet configuration is defined by a code block that begins with impl $PALLET_NAME::Config for Runtime.
  • The pallets are composed into a single runtime by way of the #[runtime] macro, which is part of the core FRAME pallet library.

Pallets

The runtime in this project is constructed using many FRAME pallets that ship with the Substrate repository and a template pallet that is defined in the pallets directory.

The quantum PoW puzzle definition -- the Ising topology object, its canonical hash, how it is registered, and which pallets enforce it -- is specified in docs/ising-topology.md.

A FRAME pallet is comprised of a number of blockchain primitives, including:

  • Storage: FRAME defines a rich set of powerful storage abstractions that makes it easy to use Substrate's efficient key-value database to manage the evolving state of a blockchain.
  • Dispatchables: FRAME pallets define special types of functions that can be invoked (dispatched) from outside of the runtime in order to update its state.
  • Events: Substrate uses events to notify users of significant state changes.
  • Errors: When a dispatchable fails, it returns an error.

Each pallet has its own Config trait which serves as a configuration interface to generically define the types and parameters it depends on.

Alternatives Installations

Instead of installing dependencies and building this source directly, consider the following alternatives.

Nix

Install nix and nix-direnv for a fully plug-and-play experience for setting up the development environment. To get all the correct dependencies, activate direnv direnv allow.

Docker

A multi-stage Dockerfile builds the quip-network-node binary on top of debian:bookworm-slim (~80 MB runtime image). The image exposes the binary directly as ENTRYPOINT, so any Substrate CLI flag works at docker run time.

Build
docker build -t quip-network-node:local .

The first build compiles the full workspace and takes a while. BuildKit cache mounts (declared in the Dockerfile) keep the cargo registry and target directory between local rebuilds.

Pre-built images

Every push to main and every git tag publishes an image to the project's GitLab Container Registry, so you don't have to build locally:

docker pull registry.gitlab.com/quip.network/quip-validator/quip-network-node:latest

Tag scheme:

  • :latest — tip of main. Floating, advances on every merge.
  • :sha-<short> — pinned to a specific commit on main or to a tagged release.
  • :<git-tag> — pinned to a release tag (e.g. :v0.1.0).
Run as a validator
# Three-validator local chain (EIP-155 1337). Not the public testnet.
docker run --rm -v quip-data:/data -p 9944:9944 -p 30333:30333 \
  quip-network-node:local \
  --chain=local3 --base-path=/data \
  --validator --alice \
  --unsafe-rpc-external --rpc-cors=all

--unsafe-rpc-external is required because Substrate refuses to combine --rpc-external with --validator by default (a safety guard against exposing a validator's RPC to the public internet). For local development the unsafe flag is fine; for production validators you almost certainly do not want any external RPC at all.

Run as a full node

Same command, omit --validator (and the --alice/--bob/--charlie shortcut):

# Three-validator local chain (EIP-155 1337). Not the public testnet.
docker run --rm -v quip-data:/data -p 9944:9944 -p 30333:30333 \
  quip-network-node:local \
  --chain=local3 --base-path=/data \
  --bootnodes=/dns/<bootnode-host>/tcp/30333/p2p/<peer-id> \
  --rpc-external --rpc-cors=all
Local 3-node network via docker-compose

docker-compose.yml reproduces scripts/start-local3.sh in containers. Each service passes --chain=local3 (EIP-155 1337). This is not the public testnet.

docker compose up --build           # start local3 (EIP-155 1337)
docker compose down                 # stop, keep chain state
docker compose down -v              # stop and wipe state

Then connect Polkadot.js Apps to ws://localhost:9944 (node1), ws://localhost:9945 (node2), or ws://localhost:9946 (node3).

Public testnet

quip-testnet is the live public testnet ("AGLS" tokens, 12 decimals, EIP-155 20033). Omitting --chain selects this preset. The canonical genesis is baked into the v0.3.0+ binary and also published as a raw JSON file at nodes.quip.network/chain-specs/aglais-network.json.

Quickstart (Docker)

# Pull the matching release image
docker pull registry.gitlab.com/quip.network/quip-validator/quip-network-node:v0.3.0

# Live public testnet (EIP-155 20033). Omit --chain for the same preset.
docker run --rm -v quip-data:/data -p 9944:9944 -p 30333:30333 \
  registry.gitlab.com/quip.network/quip-validator/quip-network-node:v0.3.0 \
  --chain=quip-testnet --base-path=/data \
  --name="my-quip-node"

The three canonical bootnodes (bootnode-{1,2,3}.aglais.quip.network) are embedded in the chain spec, so peer discovery happens automatically.

Using the hosted raw chain spec

Alternatively, fetch the published JSON spec from nodes.quip.network and pass its path to --chain. That file is the live public testnet (EIP-155 20033).

curl -fsSL https://gitlab.com/quip.network/nodes.quip.network/-/raw/main/chain-specs/aglais-network.json \
    -o aglais-network.json

# Live public testnet JSON (EIP-155 20033)
docker run --rm -v "$PWD:/spec" -v quip-data:/data -p 9944:9944 -p 30333:30333 \
  registry.gitlab.com/quip.network/quip-validator/quip-network-node:v0.3.0 \
  --chain=/spec/aglais-network.json --base-path=/data

Running a validator

Operator validator slots are committed at genesis (see docs/genesis-quip-testnet.md). To rotate or add a slot, follow docs/testnet-keys.md and the scripts/derive-operator-keys.sh helper.

View on GitHub

Recent activity

commits and pull requests

Code frequency

additions and deletions
+16.7K-16.7KWeek of 2026-03-08: +16,749 linesWeek of 2026-03-08: -0 linesWeek of 2026-03-15: +0 linesWeek of 2026-03-15: -0 linesWeek of 2026-03-22: +0 linesWeek of 2026-03-22: -0 linesWeek of 2026-03-29: +731 linesWeek of 2026-03-29: -3 linesWeek of 2026-04-05: +3,792 linesWeek of 2026-04-05: -3,145 linesWeek of 2026-04-12: +374 linesWeek of 2026-04-12: -39 linesWeek of 2026-04-19: +0 linesWeek of 2026-04-19: -0 linesWeek of 2026-04-26: +7,872 linesWeek of 2026-04-26: -213 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +1,046 linesWeek of 2026-05-10: -59 linesWeek of 2026-05-17: +4,786 linesWeek of 2026-05-17: -1,715 linesWeek of 2026-05-24: +5,555 linesWeek of 2026-05-24: -1,370 linesWeek of 2026-05-31: +237 linesWeek of 2026-05-31: -6 linesWeek of 2026-06-07: +1,617 linesWeek of 2026-06-07: -179 linesWeek of 2026-06-14: +2,560 linesWeek of 2026-06-14: -411 linesWeek of 2026-06-21: +5,623 linesWeek of 2026-06-21: -657 linesWeek of 2026-06-28: +5,171 linesWeek of 2026-06-28: -649 linesWeek of 2026-07-05: +391 linesWeek of 2026-07-05: -246 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +85 linesWeek of 2026-07-19: -64 linesWeek of 2026-07-26: +4,092 linesWeek of 2026-07-26: -469 linesWeek of 2026-08-02: +6,336 linesWeek of 2026-08-02: -761 linesWeek of 2026-08-09: +1,167 linesWeek of 2026-08-09: -421 linesWeek of 2026-08-16: +2,585 linesWeek of 2026-08-16: -1,301 linesWeek of 2026-08-23: +2,090 linesWeek of 2026-08-23: -585 linesWeek of 2026-08-30: +3,640 linesWeek of 2026-08-30: -906 linesWeek of 2026-09-06: +832 linesWeek of 2026-09-06: -219 linesWeek of 2026-09-13: +1,173 linesWeek of 2026-09-13: -401 linesWeek of 2026-09-20: +2,200 linesWeek of 2026-09-20: -1,172 linesWeek of 2026-09-27: +0 linesWeek of 2026-09-27: -0 linesMar 8, 2026Sep 27, 2026
+80.7K lines added, -15K removed over the last year.

Commits per week

last 52 weeks
300Week of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 1 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 2 commitsWeek of 2026-04-05: 3 commitsWeek of 2026-04-12: 1 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 3 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 4 commitsWeek of 2026-05-17: 25 commitsWeek of 2026-05-24: 2 commitsWeek of 2026-05-31: 4 commitsWeek of 2026-06-07: 8 commitsWeek of 2026-06-14: 4 commitsWeek of 2026-06-21: 29 commitsWeek of 2026-06-28: 30 commitsWeek of 2026-07-05: 2 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 2 commitsWeek of 2026-07-26: 4 commitsWeek of 2026-08-02: 1 commitsWeek of 2026-08-09: 11 commitsWeek of 2026-08-16: 14 commitsWeek of 2026-08-23: 8 commitsWeek of 2026-08-30: 21 commitsWeek of 2026-09-06: 12 commitsWeek of 2026-09-13: 16 commitsWeek of 2026-09-20: 17 commitsWeek of 2026-09-27: 0 commitsOct 4, 2025Sep 27, 2026
224 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 1 commitsSun 14:00 — 0 commitsSun 15:00 — 1 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 1 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 5 commitsSun 23:00 — 1 commitsMon 0:00 — 3 commitsMon 1:00 — 1 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 0 commitsMon 12:00 — 12 commitsMon 13:00 — 5 commitsMon 14:00 — 4 commitsMon 15:00 — 1 commitsMon 16:00 — 1 commitsMon 17:00 — 3 commitsMon 18:00 — 0 commitsMon 19:00 — 2 commitsMon 20:00 — 8 commitsMon 21:00 — 9 commitsMon 22:00 — 2 commitsMon 23:00 — 0 commitsTue 0:00 — 2 commitsTue 1:00 — 1 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 1 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 2 commitsTue 11:00 — 0 commitsTue 12:00 — 6 commitsTue 13:00 — 3 commitsTue 14:00 — 3 commitsTue 15:00 — 0 commitsTue 16:00 — 4 commitsTue 17:00 — 0 commitsTue 18:00 — 1 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 3 commitsTue 22:00 — 4 commitsTue 23:00 — 1 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 5 commitsWed 9:00 — 4 commitsWed 10:00 — 0 commitsWed 11:00 — 8 commitsWed 12:00 — 4 commitsWed 13:00 — 1 commitsWed 14:00 — 3 commitsWed 15:00 — 2 commitsWed 16:00 — 4 commitsWed 17:00 — 0 commitsWed 18:00 — 1 commitsWed 19:00 — 0 commitsWed 20:00 — 3 commitsWed 21:00 — 1 commitsWed 22:00 — 4 commitsWed 23:00 — 0 commitsThu 0:00 — 2 commitsThu 1:00 — 1 commitsThu 2:00 — 0 commitsThu 3:00 — 2 commitsThu 4:00 — 0 commitsThu 5:00 — 2 commitsThu 6:00 — 2 commitsThu 7:00 — 2 commitsThu 8:00 — 0 commitsThu 9:00 — 4 commitsThu 10:00 — 2 commitsThu 11:00 — 0 commitsThu 12:00 — 2 commitsThu 13:00 — 1 commitsThu 14:00 — 2 commitsThu 15:00 — 2 commitsThu 16:00 — 4 commitsThu 17:00 — 0 commitsThu 18:00 — 1 commitsThu 19:00 — 1 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 1 commitsFri 1:00 — 1 commitsFri 2:00 — 3 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 1 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 1 commitsFri 11:00 — 5 commitsFri 12:00 — 3 commitsFri 13:00 — 2 commitsFri 14:00 — 0 commitsFri 15:00 — 6 commitsFri 16:00 — 5 commitsFri 17:00 — 3 commitsFri 18:00 — 2 commitsFri 19:00 — 3 commitsFri 20:00 — 1 commitsFri 21:00 — 5 commitsFri 22:00 — 1 commitsFri 23:00 — 6 commitsSat 0:00 — 2 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 1 commitsSat 8:00 — 2 commitsSat 9:00 — 4 commitsSat 10:00 — 2 commitsSat 11:00 — 1 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 1 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 1 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Apr 10, 2026daily#9+332
  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    195.2K stars · Rust

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    140K stars · Rust

  • openai/codex

    Lightweight coding agent that runs in your terminal

    127.8K stars · Rust

  • denoland/deno

    A modern runtime for JavaScript and TypeScript.

    108.6K stars · Rust

  • ruvnet/RuView

    π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.

    96.4K stars · Rust

  • oven-sh/bun

    Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

    96.1K stars · Rust