Skip to content

[FEATURE]: MiniChain - Prototype v0 #8

@arunabha003

Description

@arunabha003

Feature and its Use Cases

Feature :

Implement MiniChain Prototype v0: an end-to-end minimal blockchain node in Python with an accounts-based ledger and Proof-of-Work, plus basic P2P propagation.

The prototype should support the full loop:
create/sign tx -> validate -> mempool -> mine PoW block -> broadcast -> other nodes validate/apply -> fork choice + reorg.

What scenarios would this address?

  • Running a local multi-node MiniChain network (2–5 nodes) to observe tx propagation, mining, and fork resolution.
  • Developing and validating the minimal protocol spec (tx/block formats, hashing, signatures, PoW target checks).
  • Creating a clean reference implementation that’s easy to modify for experiments (difficulty adjustment, mempool policy, state commitment).

Scope (v0)

  • Ed25519 keys/signatures using PyNaCl; BLAKE2b hashing via PyNaCl.
  • Accounts state: address -> (balance, nonce) and deterministic apply_tx / apply_block.
  • Blocks: header (parent hash, height, time, target, nonce, tx root, state root) + body (tx list + coinbase reward).
  • Consensus: PoW validation and fork choice by cumulative work (longest-chain by work), with basic reorg handling.
  • Mempool with per-sender nonce queueing.
  • Networking: py-libp2p gossip for tx/block + basic sync RPC.
  • Persistence: lightweight storage (e.g., sqlite3) for blocks + periodic state snapshots.
  • CLI: generate keys, submit tx, run node/miner, inspect chain.

Out of scope (v1+)

  • Smart contracts (Python sandbox + gas metering) and advanced sync/peer scoring (tracked separately).

Deliverable
A minimal runnable prototype with docs + basic tests demonstrating: single-node mining and multi-node tx/block propagation and validation.

Additional Context

No response

Code of Conduct

  • I have joined the Discord server and will post updates there
  • I have searched existing issues to avoid duplicates

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions