PlainChain

A complete Layer 1 blockchain you can read in an afternoon.

PlainChain is a working blockchain node written from scratch in TypeScript — no blockchain SDKs, every hash and signature from Node's own crypto. Run it on a laptop, read every rule, and see the test that proves each one.

622automated tests, many of them explicit attacks
3runtime dependencies
~17klines of TypeScript, readable in one sitting
55threats in a public threat model, each tied to code and a test

What is inside

Two ways to make blocks

Proof of work with fork-aware difficulty, or a Clique-style proof of authority where an approved set of signers take turns — the right choice for a group of companies sharing a ledger.

A real ledger

Bitcoin-style UTXO accounting, coinbase maturity, halving schedule, checkpoints, and crash-safe chain reorganisations.

A real network

Peer discovery, header-first sync, reputation and bans, and every message from a peer type-checked before the node looks at it.

A real wallet

12-word recovery phrases, multiple accounts, watch-only wallets, fee bumping, and a light client that verifies proofs itself instead of trusting the node.

Ready to operate

JSON-RPC with authentication, rate limiting and TLS; health and Prometheus metrics; JSON logs; Docker and Kubernetes packaging.

Deliberately left out

Smart contracts, a public token, transaction privacy. It is a ledger, not a platform.

Ten-minute start

git clone https://github.com/behrouzbk/plainchain.git
cd plainchain
npm ci
npm test            # 622 tests, about three minutes
npm run simulate    # three real node processes mine, propagate, and agree

Then follow the hands-on walkthrough: create two wallets, mine, pay, bump a fee, and verify the payment with the light client — every command with its expected output. Three containers with docker compose up; the same mesh on Kubernetes with kubectl apply -k k8s/base.

Learn how a blockchain actually works

The free guide, Read the whole chain in an afternoon, walks the six modules in the order they are built — crypto, ledger, state, consensus, network, RPC — with one test to run and one exercise for each: add a rule test-first, break and repair the UTXO set, change fork choice and watch the reorg tests fail, write an attack against a live node.

PlainChain — the course (US$129 launch price for the first 20 buyers, then US$199)

Six chapters on the same codebase. Each one removes one to three real functions from the node — a Merkle proof, the transaction rules, the UTXO set, block validity and fork choice, the network boundary, a wallet that verifies its own payments — and asks you to write them back, with the node's own tests as the judge.

Every chapter: the idea from scratch, a guided tour of the surrounding code, a worked example with real hashes and amounts, the implementation step by step with the reason for each rule, a table of common mistakes and the test that catches each, every test explained, the attacks the rules stop (with the real bugs and CVEs behind them), a quiz with answers, and exercises beyond the tests. Plus a runner that applies and checks each exercise, the reference solution, and a private Q&A space. About 8–10 hours.

Buy the course

Enter your GitHub username at checkout; an invitation to the private course repository follows within a minute of payment. Questions first? info@axieo.ca.

How it was built

Test-first, with one rule at a time: every consensus or network rule was added together with a test showing the attack it prevents — an inflated coinbase, a forged seal, a double-spend, a peer claiming a block hash it did not earn. The threat model lists about 55 such threats, each pointing at the code that stops it and the test that proves it, plus the risks that are accepted on purpose.

Security status: internally audited with a public threat model; eight findings fixed. No independent security review yet — treat it as pre-audit software and do not put value you cannot afford to lose on a chain built with it. Vulnerabilities: see SECURITY.md.

Services

Solution architecture

From a business problem to a design a team can build: data model, trust boundaries, deployment, operations, cost.

Private-chain deployment

A proof-of-authority network for your consortium — configured, integrated with your systems, documented, handed over running, with operator training.

Workshops

One or two days, live: your engineers run a network together and modify the rules. Understand the technology in days instead of months.

Services are provided by Axieo Technologies Inc. Write to info@axieo.ca with a paragraph about the problem, or see axieo.ca/services. Toronto, Canada.