UncCoin is a toy but fairly complete proof-of-work cryptocurrency built in Python. It has signed wallets and transactions, miner rewards and fees, peer-to-peer relay, chain sync, persistence, smart-contract-style UVM execution, a local FastAPI node API, and an Electron desktop app.
It is built for learning, experimentation, and small trusted friend networks. It is not a real-money chain and is not hardened for adversarial deployment.
Fetch and install dependencies:
git clone https://github.com/Fleli/UncCoin.git
cd UncCoin
./scripts/setup_desktop.shRun the desktop app:
./scripts/desktop.shOr run a terminal node:
./.venv/bin/python -m wallet.cli create --name alice
./scripts/run.sh alice 9000Check a checkout before sharing or running it:
./scripts/check.sh- Getting started: install dependencies, create wallets, run desktop or terminal nodes, connect peers, and understand local state.
- Desktop app: launch flow, wallet selection, node startup, miner warmup, and the main desktop screens.
- Node API: local FastAPI read endpoints, authenticated control endpoints, API ports, and bearer-token behavior.
- Node CLI: terminal commands for peers, transfers, messages, contracts, mining, balances, and local aliases.
- Contracts and UVM: typed transactions, commitments, reveals, deploy/authorize/execute flows, receipts, and UVM instructions.
- Mining: proof-of-work backends, tuning variables, private automine mode, GPU setup, and Runpod notes.
- Tailscale networking: run a small multi-device UncCoin network without opening router ports.
- Assembler: compile readable
.uvm-asmprograms into deployable UVM JSON.
- Signed wallet transactions with balances and nonces.
- SHA-256 proof of work with Python, native CPU, and GPU-oriented mining paths.
- P2P transaction, block, and wallet-message relay.
- Chain sync, orphan handling, and canonical-chain persistence.
- Local state/control API for desktop and other local programs.
- Desktop GUI for wallet, transfer, mining, blockchain, network, messages, and contract workflows.
- Typed transactions for transfers, commitments, reveals, deploys, authorizations, and UVM execution.
UncCoin is released under the MIT License.