generated from StabilityNexus/Template-Repo
-
-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
enhancementNew feature or requestNew feature or request
Description
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request