SOLE is a lightweight, academic Proof-of-Authority (PoA) blockchain written in Go. It powers the Unisalento digital token ecosystem, serving as a robust case study for distributed ledger technology.
The ecosystem follows a decoupled, Hybrid Network architecture:
- Public VPS Nodes: Acts as Bootnodes and API Gateways (Always Online).
- Home/Private Nodes: Connect via NAT Traversal and participate in validation.
graph LR
A["Telegram Bot/Apps"] <-->|HTTPS| B("Public VPS Node");
B <-->|P2P/Internet| C["Other VPS Nodes"];
C <-->|NAT Traversal| D["Home Node (Private)"];
B -->|Persist| E[BadgerDB];
Get your node running locally in seconds.
- Build:
go build -o sole-cli . - Initialize:
./sole-cli init - Run:
./sole-cli startnode
To deploy a public node on a VPS (DigitalOcean, AWS, Hetzner) accessible via the Internet:
👉 Read the Bare Metal Deployment Guide
- Consensus Core: Proof of Authority (PoA) engine using ECDSA. Energy-efficient validation.
- Public P2P Network: Full Internet support with DNS Discovery and NAT Traversal.
- Secure API: Built-in support for HTTPS/TLS (via Reverse Proxy) and Rate Limiting.
- Reliability: Graceful Shutdown, BadgerDB v3 persistence, and Systemd integration.
- Ecosystem: Full support for custodial apps like the Telegram Bot.
- Deployment Guide: Zero-to-Hero VPS Setup (Systemd + Nginx).
- Ecosystem & Clients: Wallet Manager & Integrations.
- API Reference: Endpoints for developers.
- CLI Manual: Command flags usage.
⚠️ ACADEMIC PROJECT This software is a Proof of Concept (PoC) developed for educational and research purposes at the University of Salento. It is not intended for production financial use.