32 releases (21 stable)

3.6.0 Apr 7, 2025
3.5.0 Mar 28, 2025
2.7.0 Nov 22, 2024
2.0.0 Jul 31, 2024

#2 in #gold

Download history 529/week @ 2025-01-13 878/week @ 2025-01-20 403/week @ 2025-01-27 4099/week @ 2025-02-03 547/week @ 2025-02-10 285/week @ 2025-02-17 419/week @ 2025-02-24 225/week @ 2025-03-03 343/week @ 2025-03-10 863/week @ 2025-03-17 696/week @ 2025-03-24 565/week @ 2025-03-31 21917/week @ 2025-04-07 4325/week @ 2025-04-14 784/week @ 2025-04-21 430/week @ 2025-04-28

27,525 downloads per month
Used in 20 crates (19 directly)

Apache-2.0 and LGPL-3.0-only

37KB
618 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

~42MB
~637K SLoC