
Current release: v0.5.0 (stable)
A lightweight, proof-of-work blockchain cryptocurrency written in Rust. Features automatic updates, peer-to-peer networking, and efficient mining with the RX/OWO memory-hard algorithm.
IMPORTANT: we publish release binaries on GitHub releases. If you are on Windows we recommend downloading the pre-built release for convenience and correctness.
# Clone repository
git clone https://github.com/tosterlolz/Owonero.git
cd Owonero
# Build for your platform
sudo make install # Release build
# Start daemon (network node)
owonero -d
# Or connect to existing network
owonero -d -n owonero.yabai.buzz:6969
Owonero uses the RX/OWO algorithm, a custom memory-hard proof-of-work system inspired by RandomX. This algorithm is designed to be ASIC-resistant while remaining efficient on general-purpose CPUs.
The algorithm scales well with:
owonero --install-completions <shell>
# for bash:
owonero --install-completions bash
# Solo mining with 8 threads
owonero --mine --node localhost:6969 --threads 8
# Pool mining (if supported)
owonero --mine --pool --node pool.example.com:6969 --threads 8
# Mining with TUI interface
owonero --mine --miner-ui --node localhost:6969 --threads 4
# View balance and address
owonero
owonero -d [options]
-d: Run as network daemon-p PORT: Listening port (default: 6969)-n HOST:PORT: Connect to existing node-peers "ADDR1,ADDR2": Initial peer addresses--no-init: Skip local blockchain, sync from peers--no-update: Skip automatic update checkowonero -m [options]
-m: Start mining-n HOST:PORT: Node to submit blocks to-w FILE: Wallet file (default: wallet.json)-t THREADS: Number of mining threads (default: 1)-b BLOCKS: Blocks to mine (0 = unlimited)owonero [options]
-w FILE: Custom wallet file-tui: Launch terminal user interfaceOwonero uses a simple TCP-based protocol. Connect using telnet or netcat:
# Connect to daemon
telnet localhost 6969
# Get blockchain height
getheight
42
# Get peer list
getpeers
["192.168.1.100:6969", "node.example.com:6969"]
# Add new peer
addpeer
192.168.1.101:6969
ok
| Command | Description | Response |
|---|---|---|
getchain |
Full blockchain (JSON) | Blockchain JSON |
getheight |
Current block height | Integer |
getblocks START END |
Block range | Blocks JSON array |
submitblock |
Submit mined block | JSON payload required |
sendtx |
Submit transaction | JSON payload required |
getpeers |
Known peers list | JSON array |
addpeer |
Add peer | Address on next line |
removepeer |
Remove peer | Address on next line |
getwallet |
Wallet information | Address on next line |
sync |
Force sync | Initiates sync |
mineractive |
Report active miner | Miner address |
# Release build (optimized)
cargo build --release
# Debug build
cargo build
# Windows PowerShell script
./build.ps1
# Cross-platform builds
cargo build --release --target x86_64-unknown-linux-gnu
cargo build --release --target x86_64-pc-windows-gnu
cargo build --release --target x86_64-apple-darwin
# Clone repository
git clone https://github.com/tosterlolz/Owonero.git
cd owonero-rs
# Install dependencies
cargo fetch
# Run tests
cargo test
# Build with debug symbols
cargo build
# Run with debug output
RUST_LOG=debug cargo run -- --help
When running a daemon, access web stats at http://localhost:6767/
-t flag# Check daemon status
echo "getheight" | nc localhost 6969
# View connected peers
echo "getpeers" | nc localhost 6969
More detailed developer and build documentation is available in the docs/ directory:
docs/BUILD.md β step-by-step build instructions for Linux, WSL, macOS, and notes for Windows users.docs/TROUBLESHOOTING.md β common build/runtime issues and fixes (OpenSSL, WSL, hashrate stalls).If youβd like, we can add a Dockerfile and CI workflow to produce reproducible release artifacts.
netstat -an | grep 6969ls wallet.json--no-init flag for clean sync--no-update to skip updates# Enable debug logging
OWONERO_LOG_LEVEL=debug owonero -d
# Build with debug symbols
go build -tags debug -o owonero-debug ./src
We welcome contributions! Please follow these steps:
git checkout -b feature-namego test ./...owonero-rs/
βββ src/
β βββ main.rs # CLI entry point and command routing
β βββ blockchain.rs # RX/OWO algorithm and blockchain logic
β βββ miner.rs # Async mining with thread management
β βββ miner_ui.rs # Ratatui-based terminal interface
β βββ wallet.rs # ECDSA wallet management
β βββ daemon.rs # Async TCP server and peer management
β βββ config.rs # JSON configuration management
β βββ update.rs # GitHub release checking
βββ Cargo.toml # Rust dependencies and metadata
βββ build.ps1 # Cross-platform build script
βββ README.md # This documentation
βββ LICENSE # MIT License
This project is licensed under the MIT License - see the LICENSE file for details.
Educational Purpose Only
This software is for educational and experimental purposes. It is not intended for production use or real financial transactions. The developers are not responsible for any financial losses or security issues arising from its use.
Happy mining! βοΈ</content>