SOLE (Secure Open Ledger for Education) is an academic Proof-of-Authority (PoA) blockchain implemented in Go. It provides a lightweight, performant distributed ledger environment designed specifically for educational integration and research at the University of Salento.
The SOLE network operates as a Hybrid P2P Network, prioritizing high throughput and immediate finality without the energy overhead of computational mining.
- Consensus: Proof of Authority (PoA). A deterministic set of authorized validators (e.g., University Administration, Faculty) securely signs blocks.
-
Data Structure: Features a Persistent UTXO Set backed by BadgerDB for strict double-spend prevention and
$O(1)$ balance verification. - Tokenomics: Hard-capped at 19.55 Million SOLE, featuring a deflationary emission curve halving every 195,500 blocks.
-
Networking: Operates on a modular
libp2pstack supporting DHT-based peer discovery, NAT traversal, and automatic mDNS for LAN synchronization. - Interoperability: Exposes a robust JSON REST API for seamless integration with external wallets and blockchain explorers.
- Go 1.19 or higher
Clone the repository and compile the CLI executable:
git clone https://github.com/nicolocarcagni/sole.git
cd sole
go build -o sole-cli .To bootstrap the local persistence layer and immediately join the public P2P network:
./sole-cli chain init
./sole-cli node startThis sequence automatically generates a persistent P2P identity (node_key.dat), attempts to reach the configured bootstrap nodes, and begins block synchronization.
Comprehensive technical documentation is maintained in the docs/ directory.
- CLI Manual: Detailed command-line usage and node configuration flags.
- API Reference: Exact JSON schemas and REST endpoints for external integrators.
- Technical Whitepaper: Cryptographic specifications and consensus architecture.
This software is provided exclusively for academic research and testing. While it implements standard cryptographic primitives (ECDSA, NIST P-256, SHA-256), the codebase has not undergone a commercial security audit. It is strictly prohibited from holding real-world financial assets.