Files
ore/README.md
2024-06-23 21:40:59 -05:00

1.7 KiB
Raw Blame History

ORE

ORE is a fair-launch, proof-of-work, cross-border digital currency anyone can mine.

Program

  • Consts  Program constants.
  • Entrypoint  The program entrypoint.
  • Errors  Custom program errors.
  • Idl Interface for clients, explorers, and programs.
  • Instruction  Declared instructions and arguments.
  • Loaders  Validation logic for loading Solana accounts.

Instructions

  • Initialize – Initializes the Ore program, creating the bus, mint, and treasury accounts.
  • Reset Resets the program for a new epoch.
  • Register – Creates a new proof account for a prospective miner.
  • Mine Verifies a hash provided by a miner and issues claimable rewards.
  • Claim Distributes claimable rewards as tokens from the treasury to a miner.
  • UpdateAdmin – Updates the admin authority.
  • UpdateDifficulty - Updates the hashing difficulty.

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