iuna

iuna - experimental devnet protocol
git clone https://iuna.jhx.app/git/iuna.git
Log | Files | Refs | README | LICENSE

commit ee5b1372fabc578272696e502cbbec1175ecaa86
parent 8e45a4ea55b0ca9fc69c9cc9d5bd6b1375832eb1
Author: Joris Hartog <jorishartog@hotmail.com>
Date:   Fri, 31 Jul 2026 13:50:06 +0200

Simplify README and landing page copy

Diffstat:
MREADME.md | 121++++++++++++++++++++++++++++---------------------------------------------------
Mwww/index.html | 26+++++++++++++-------------
2 files changed, 55 insertions(+), 92 deletions(-)

diff --git a/README.md b/README.md @@ -1,66 +1,71 @@ # iuna -iuna is a low-energy currency devnet where blocks are finalized by burning IUNA, while new supply is earned through open proof-of-work. +iuna is an experimental cryptocurrency devnet. -It is not a mainnet and not money yet. The goal right now is simple: run a small real network, learn where the protocol and software bend, and make it pleasant enough that friends can help test it. +It combines three ideas: -## Download +- **VDF finalization:** each block waits on verifiable sequential delay work. +- **Burn lottery:** nodes burn IUNA to enter the lottery for who may finalize the next block. +- **Proof-of-work issuance:** new IUNA is created through open PoW mine actions. -Download the latest build for your platform from the [GitHub Releases](https://github.com/iuna-labs/iuna/releases) page. You do not need Rust or Cargo to run a node. +## Status -CLI release archives are published for: +iuna is still in development. It is not a mainnet, not money, and not something to treat as financially valuable yet. -- Linux x86_64 -- Linux aarch64 -- macOS x86_64 -- macOS Apple Silicon -- Windows x86_64 +The goal right now is to run a real test network, improve the wallet and node software, and learn how the protocol behaves with real users. -Desktop artifacts are also published for: +## Why Another Crypto? -- macOS Apple Silicon app bundle -- Windows x86_64 installer +Most chains lean heavily on one scarce resource: -The desktop app starts the bundled iuna node locally and opens the same management UI in an app window. +- Proof-of-work chains rely on hashpower. +- Proof-of-stake chains rely on existing stake. -Unpack the archive and run the `iuna` binary from a terminal. +iuna tries a different split. Finalization is lightweight and based on a burn lottery plus VDF timing, while new supply stays open to proof-of-work. The intended benefit is better decentralization pressure than pure PoW or pure PoS: finalizing blocks should not require owning specialized mining scale, and issuing new coins should not require already being a large holder. -On macOS or Linux: +This is still an experiment. The design needs real-world testing before those goals can be treated as proven. -```sh -chmod +x ./iuna -./iuna -``` +## Install -On Windows PowerShell: +The simplest way to run iuna is: -```powershell -.\iuna.exe -``` +1. Go to [GitHub Releases](https://github.com/iuna-labs/iuna/releases). +2. Download the latest build for your platform. +3. Start the app or binary. +4. Follow the setup screen. -For the commands below, use `.\iuna.exe` instead of `./iuna` on Windows. +The setup flow helps you create or import a wallet, back up your recovery phrase, and connect to the devnet. -Open the local management URL printed by iuna, set a local password, and back up the recovery phrase. The wallet seed is encrypted on disk. Keep the management UI local; only the P2P listener should be reachable by other nodes. +You do not need Rust or Cargo unless you want to work on the code. -## Join A Devnet +## What You Can Run -Ask for a seed node address and start iuna with `--join`: +You can use iuna as a wallet, a node, or a public peer. -```sh -./iuna --join <peer-host>:<peer-port> -``` +- **Wallet:** send, receive, and inspect activity. +- **Node:** keep a local chain copy and participate in mining/finalization settings. +- **Public peer:** same as a node, but reachable by other nodes through a public P2P address. -After the node syncs, you can receive IUNA, send transactions, burn for block finalization, or enable PoW mine actions from the Mining screen. +Keep the management UI local. Only the P2P listener should be reachable by other nodes. -## Start A Fresh Devnet +## Optional: CLI -Only the first operator of a devnet needs genesis mode: +Release archives also include a command-line binary. + +On macOS or Linux: ```sh -./iuna --genesis +chmod +x ./iuna +./iuna ``` -Genesis requires a fresh wallet and an empty chain database. It creates the starter chain, measures an initial VDF delay, and leaves the starter wallet with spendable IUNA for early testing. +On Windows PowerShell: + +```powershell +.\iuna.exe +``` + +The binary prints a local management URL. Open it and follow setup. ## Optional: Stratum Mining @@ -72,51 +77,9 @@ iuna can expose a Stratum V1 endpoint for SHA-256 ASIC miners such as a Bitaxe: Use your iuna wallet address as the worker username. Accepted shares become PoW mine actions in the node mempool and are gossiped to peers. -## How It Works - -iuna combines three mechanisms: - -- **Proof of Burn:** nodes burn IUNA to enter the block-finalization lottery. -- **VDF clock:** the selected finalizer must run sequential delay work before publishing a block. -- **PoW issuance:** mine actions issue 2 IUNA: 1 IUNA to the PoW miner and 1 IUNA as a fixed fee to the finalizer that includes them. - -The current devnet targets 10-minute blocks, uses local wallet encryption, stores chain state in SQLite, and includes an in-memory network test harness for protocol testing. - ## Contributing -Contributions are welcome. Useful help includes running nodes, testing joins/restarts, improving P2P behavior, reviewing protocol incentives, cleaning up UI flows, and adding focused tests. - -Contributors need Rust and Cargo. Before sending changes, run: - -```sh -cargo fmt -- --check -cargo clippy --all-targets --all-features -- -D warnings -cargo test -``` - -The property-style chain tests can also be run directly: - -```sh -cargo test --test properties -``` - -To use the included pre-commit hook: - -```sh -git config core.hooksPath .githooks -chmod +x .githooks/pre-commit -``` - -## Release Builds - -Maintainers publish binaries by pushing a version tag: - -```sh -git tag v0.1.0 -git push origin v0.1.0 -``` - -The release workflow builds platform archives plus macOS and Windows desktop artifacts, writes `SHA256SUMS`, and attaches everything to the GitHub Release for that tag. +We are open to PRs and help running, testing, and improving the devnet. ## License diff --git a/www/index.html b/www/index.html @@ -4,7 +4,7 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="color-scheme" content="dark"> - <meta name="description" content="iuna is a low-energy currency prototype where block finalization requires sacrificing coins, while new supply is earned through open proof-of-work."> + <meta name="description" content="iuna is an experimental cryptocurrency devnet that combines VDF finalization, a burn lottery, and proof-of-work issuance."> <title>iuna Devnet</title> <style> :root { @@ -259,7 +259,7 @@ <div> <div class="eyebrow"><span class="dot"></span> Devnet prototype</div> <h1>iuna</h1> - <p class="lead">A low-energy currency where block finalization requires sacrificing coins, while new supply is earned through open proof-of-work.</p> + <p class="lead">An experimental cryptocurrency devnet that combines VDF finalization, a burn lottery, and open proof-of-work issuance.</p> <p>iuna is not a mainnet and not money yet. It is a small L1 lab for learning how a wallet, node, finalizer, miner, mempool, and peer network behave when real people run it on real machines.</p> <div class="actions"> <a class="button primary" href="#whatisiuna">What is iuna</a> @@ -283,7 +283,7 @@ <div class="wrap"> <div class="section-head"> <h2>What Is iuna?</h2> - <p>iuna is a new devnet experiment that combines proof-of-burn finalization, a VDF clock, and open proof-of-work issuance. Compared with pure proof-of-work chains, it aims to keep finalization lightweight while keeping new supply open to anyone willing to do PoW.</p> + <p>iuna combines proof-of-burn finalization, a VDF clock, and proof-of-work issuance. It aims for broader decentralization than systems based only on hashpower or only on existing stake.</p> </div> <div class="grid"> <div class="card"> @@ -309,28 +309,28 @@ <div class="wrap"> <div class="section-head"> <h2>How To Join</h2> - <p>Choose how much of the network you want to run. A wallet is enough to start using iuna; a node can also earn through PoW and proof-of-burn finalization.</p> + <p>Download the latest build from <a href="https://github.com/iuna-labs/iuna/releases">GitHub Releases</a>, start it, and follow setup. Choose how much of the network you want to run.</p> </div> <div class="grid"> <div class="card"> <span class="tag green">Wallet</span> - <h3>Install And Go</h3> - <p>Install the desktop app from <a href="https://github.com/iuna-labs/iuna/releases">GitHub Releases</a>. It starts a local wallet, encrypts your seed on disk, and is ready once setup is complete.</p> - <a class="button primary" href="https://github.com/iuna-labs/iuna/releases">Releases</a> + <h3>Wallet</h3> + <p>Use the app to create or import a wallet, back up your recovery phrase, and send or receive IUNA on the devnet.</p> </div> <div class="card"> <span class="tag cyan">Node</span> - <h3>Non-Listening Node</h3> - <p>Install the desktop app or CLI from Releases, connect to a public peer, and set the app to node mode in settings. You can earn with PoW mine actions and/or PoB finalization without opening an inbound port.</p> - <a class="button" href="https://github.com/iuna-labs/iuna/blob/main/KNOWN_NODES.txt">Known Nodes</a> + <h3>Private Node</h3> + <p>Run a local node that connects out to peers. You can keep a chain copy and use node mode without opening an inbound P2P port.</p> </div> <div class="card"> <span class="tag blue">Public Peer</span> - <h3>Listening Node</h3> - <p>Do the same node setup, then expose the P2P listener to the world. Open TCP port <code>9444</code> on your router or firewall and run the listener on a public interface.</p> - <pre><code>./iuna --p2p 0.0.0.0:9444</code></pre> + <h3>Public Node</h3> + <p>Run the same node, but make it reachable by other peers. Open TCP port <code>9444</code> and fill in your public P2P address during setup or in the settings.</p> </div> </div> + <div class="actions"> + <a class="button primary" href="https://github.com/iuna-labs/iuna/releases">Download from Releases</a> + </div> <p class="note">Keep the management UI local. Only the P2P listener should be reachable by other nodes.</p> </div> </section>