Help us shape the future of Go! Take the 2026 Go Developer Survey

sole

command module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2026 License: MIT Imports: 43 Imported by: 0

README


Go Report License Status

SOLE Blockchain

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.

Project Overview

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 libp2p stack 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.

Prerequisites

  • Go 1.19 or higher

Quickstart

Build the Node

Clone the repository and compile the CLI executable:

git clone https://github.com/nicolocarcagni/sole.git
cd sole
go build -o sole-cli .

Run the Node

To bootstrap the local persistence layer and immediately join the public P2P network:

./sole-cli chain init
./sole-cli node start

This sequence automatically generates a persistent P2P identity (node_key.dat), attempts to reach the configured bootstrap nodes, and begins block synchronization.

Documentation

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.

Disclaimer

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.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL