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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions