Testnet · pow-sha256 · Chain ID 180322

Custom Blockchain Runtime & Dev Platform

A real custom blockchain testnet built from scratch in Node.js — with PoW mining, signed transactions, P2P sync, mempool, state layer, and a full CLI toolkit. Not an Ethereum fork. Not a toy demo.

Explore the Chain Star on GitHub
duglas testnet
$ duglas overview
Network Duglas Testnet (DUG)
Chain ID 180322
Height 142
Mempool 3 pending txs
Balance 1,240.0000 DUG
$ duglas mine
[mine] Mining block #143...
[ok] Block mined! Hash: 0x7a3f...
3 txs confirmed · Reward: 50.0000 DUG
$ duglas state-get greeting
key: greeting
value: hello world
0 app modules
0 node testnet
180322 chain ID
secp256k1 cryptography
PoW consensus

Not another
Ethereum clone.

Duglas Testnet is a custom blockchain runtime built from scratch — not a fork, not a wrapper, not a fake demo with hardcoded balances. Every block is really mined, every transaction is really signed, every balance really comes from chain history.

The core goal: custom blockchain first, execution platform later. Build the chain correctly, then build on top of it.

Node.js 18+ secp256k1 WebSockets P2P SHA-256 PoW Docker DUG token 0x addresses custom-v1 mnemonics
NETWORK IDENTITY
name Duglas Testnet
symbol DUG
decimals 4
chain_id 180322
consensus pow-sha256
address_format evm-like-0x
genesis deterministic custom
Addresses are Ethereum-like 0x... checksum addresses using secp256k1. MetaMask can import the private key — but Duglas is not an Ethereum-compatible RPC chain.

Four stacked
runtime layers.

Duglas is built as a clean layered system. Each layer has a clear responsibility. Together they form a complete, real blockchain runtime.

LAYER 01

Chain Layer

Block structure, previous-hash linking, Proof-of-Work validity, cumulative chain work, and chain replacement rules. The base ledger — every block is real, every hash is computed.

LAYER 02

Transaction Layer

Sender identity via signatures, nonces for ordering, fees, typed transactions, mempool admission policy, and double-spend prevention through nonce and balance validation.

LAYER 03

State Derivation Layer

Deterministic key-value state derived from confirmed data transactions. Pending-state preview from mempool contents. Full state history traceable to specific transactions.

LAYER 04

App Layer

Counter, registry, profile, todo, and notes modules. Structured payloads mapped into deterministic state changes. The bridge toward future execution or contract-like features.

Real mechanics.
No shortcuts.

Proof of Work

Real mining,
real blocks.

Miners search for a nonce producing a valid SHA-256 block hash. Nodes replace their chain with a heavier valid chain. Competing histories, block validity, halving rewards — all the right core ideas, running locally.

Block reward model includes base reward + fee collection + halving. An internal token issuance mechanism suitable for a real educational chain.
RECENT BLOCKS
Block #142
Hash: 0x7a3f...e91b
Txs: 3 · Reward: 50 DUG
↕ prev_hash link
Block #141
Hash: 0x2c8a...14df
Txs: 1 · Reward: 50 DUG
↕ prev_hash link
Block #140
Hash: 0xf40c...9a22
Txs: 5 · Reward: 50 DUG
Wallet System

Full wallet
lifecycle.

Generate private-key or mnemonic-backed wallets. Derive checksum 0x... addresses. Import/export private keys. Save named wallets. Switch active wallet identity per node. All using secp256k1 — the same curve Ethereum uses.

wallet-new wallet-seed-new wallet-switch wallet-export wallet-import
ACTIVE WALLET
name alice
0x4a7F...3E92
confirmed 1,240.0000 DUG
available 1,229.0000 DUG
next nonce 7
SAVED WALLETS
alice active
bob ready
Mempool

A real mempool,
not an array.

The mempool is one of the most important teaching surfaces in the project. Transaction validation before admission. Nonce-aware sender ordering. Balance-aware checks. Fee-aware replacement. Anti-spam limits for data transactions. Payload-size-based fee rules.

Without mempool policy, a blockchain demo easily becomes unrealistic. Duglas treats it as a real subsystem.

MEMPOOL · 3 PENDING
0xAB3f→0x2C9a 10 DUG pending
0x5E1b→0x8Fa2 25 DUG pending
0x7Da0 kv:set data tx pending
→ mine to confirm all 3 txs
State Layer

Deterministic
on-chain state.

Duglas introduces typed transactions and structured payloads instead of a VM. The chain stores signed transactions. Confirmed state is recomputed from accepted confirmed actions. Pending state is simulated from mempool contents.

Formal action envelope:
{"app":"kv","action":"set","params":{"key":"greeting","value":"hello"}}
CONFIRMED STATE
greeting
"hello world"
theme
"dark"
PENDING (mempool)
[pending] app:counter/score → 15
not mined yet
P2P Network

Real node
synchronization.

WebSocket-based P2P layer handles block and transaction propagation, chain synchronization, and peer discovery. Run a 3-node Docker testnet locally to see real peer sync in action.

node 1 — localhost:3001 (HTTP) / :6001 (P2P)
node 2 — localhost:3002 (HTTP) / :6002 (P2P)
node 3 — localhost:3003 (HTTP) / :6003 (P2P)
node 1 :3001 node 2 :3002 node 3 :3003

Five built-in
application modules.

Not the final product — architectural proof. These modules show that the chain can carry typed application intents, state can be deterministic and namespaced, and the project can evolve beyond pure value transfers.

counter

Numeric state per address. create / add / sub / delete.

registry

Global key-to-record mapping. set / delete / query.

profile

One profile per address. displayName + bio.

todo

Boolean task state namespaced by owner address.

notes

Namespaced text storage per owner address.

CLI Commands Overview

Wallet

duglas wallet
duglas wallet-seed-new bob
duglas wallet-switch alice
duglas wallet-export
duglas wallet-list

Transactions

duglas send 0xBOB 10 1
duglas receipt TX_ID
duglas mine
duglas mempool
duglas activity 0xADDR

State

duglas send-action 0x kv set '{"key":"x"}'
duglas state-pending
duglas state-get greeting
duglas state-history greeting

Network

duglas overview
duglas watch
duglas stats
duglas peers
duglas testnet:up

Roadmap moved to a
dedicated page.

The full phased timeline, current delivery status, and out-of-scope items now live on a separate page so the main landing stays focused on the product overview.

→ Open Roadmap Page ↑ Back to Features

Bug bounty moved to a
dedicated page.

The full reward details, bug categories, report process, and submission form now live on a separate page so the main landing stays focused on the product itself.

→ Open Bug Bounty Page ↗ Report on GitHub

Up and running
in minutes.

Three installation modes depending on what you need.

FROM REPOSITORY
$ git clone <repo-url>
$ cd blockchainJS && npm install
$ npm run start:node1
GLOBAL CLI
$ npm install -g duglas-testnet
$ duglas help
NO INSTALL
$ npx duglas-testnet help
$ npx duglas-testnet overview
FIRST RUN FLOW
1
Start node & explorer
npm run start:node1duglas overview
2
Fund & name your wallet
duglas faucetduglas wallet-save-name alice
3
Create a second wallet
duglas wallet-seed-new bob
4
Send a transaction
duglas send 0xBOB 10 1
5
Mine & confirm
duglas mineduglas receipt TX_ID
OK
You now understand blockchain.