7 stable releases

2.5.2 Oct 16, 2024
2.5.1 Oct 3, 2024
2.4.0 Sep 15, 2024
2.3.0 Aug 21, 2024

#53 in #mining

Download history 24/week @ 2024-10-23 51/week @ 2024-10-30 110/week @ 2024-11-06 79/week @ 2024-11-13 82/week @ 2024-11-20 59/week @ 2024-11-27 32/week @ 2024-12-04 41/week @ 2024-12-11 43/week @ 2024-12-18 22/week @ 2024-12-25 45/week @ 2025-01-01 93/week @ 2025-01-08 30/week @ 2025-01-15 127/week @ 2025-01-22 3737/week @ 2025-01-29 47/week @ 2025-02-05

3,945 downloads per month
Used in 4 crates (2 directly)

Apache-2.0

10KB
254 lines

ORE

ORE is a cryptocurrency everyone can mine.

API

  • Consts – Program constants.
  • Error – Custom program errors.
  • Event – Custom program events.
  • Instruction – Declared instructions and arguments.

Instructions

  • Claim – Distributes ORE from the treasury to a miner.
  • Close – Closes a proof account returns the rent to the owner.
  • Open – Opens a new proof account for a miner.
  • Mine – Verifies a hash and increments a miner's claimable balance.
  • Reset – Resets the program for a new epoch.
  • Update – Updates a proof account's miner authority.
  • Initialize – Initializes the program and creates the global accounts.

State

  • Bus - An account (8 total) which tracks and limits the amount ORE mined each epoch.
  • Config – A singleton account which manages program-wide variables.
  • Proof - An account (1 per user) which tracks a miner's current hash and current stake.
  • Treasury – A singleton account which has authority to mint ORE and holds onto user stake.

Tests

To run the test suite, use the Solana toolchain:

cargo test-sbf

For line coverage, use llvm-cov:

cargo llvm-cov

Dependencies

~15–25MB
~418K SLoC