mirror of
https://github.com/d0zingcat/ore.git
synced 2026-05-14 15:10:13 +00:00
ORE
ORE is a fair-launch, proof-of-work, digital currency everyone can mine.
API
Consts– Program constants.Entrypoint– The program entrypoint.Error– Custom program errors.Event– Custom program events.Instruction– Declared instructions and arguments.
Instructions
Claim– Distributes claimable rewards as tokens from the treasury to a miner.Close– Closes a proof account returns the rent to the owner.Crown– Flags a proof account as the top staker on the network.Open– Creates a new proof account for a prospective miner.Mine– Verifies a hash provided by a miner and issues claimable rewards.Stake– Stakes ORE with a miner to increase their multiplier.Reset– Resets the program for a new epoch.Update– Updates a proof account's miner authority.Upgrade– Migrates v1 ORE tokens to v2 ORE.Initialize– Initializes the Ore program, creating the bus, mint, and treasury accounts.
State
Bus- An account (8 total) which tracks and limits the amount mined rewards each epoch.Proof- An account (1 per miner) which tracks a miner's hash, claimable rewards, and lifetime stats.Treasury– A singleton account which manages program-wide variables and authorities.
Tests
To run the test suite, use the Solana toolchain:
cargo test-sbf
For line coverage, use llvm-cov:
cargo llvm-cov