#solana #verify #programs #verified #user #deployed #verification

app solana-verify

A CLI tool for building verifiable Solana programs

16 releases

new 0.4.0 Dec 19, 2024
0.3.1 Nov 22, 2024
0.2.14 Oct 24, 2024
0.2.11 Apr 16, 2024
0.2.3 Jul 10, 2023

#2 in #deployed

Download history 13/week @ 2024-08-26 4/week @ 2024-09-02 51/week @ 2024-09-09 14/week @ 2024-09-16 61/week @ 2024-09-23 50/week @ 2024-09-30 51/week @ 2024-10-07 22/week @ 2024-10-14 370/week @ 2024-10-21 45/week @ 2024-10-28 28/week @ 2024-11-04 151/week @ 2024-11-11 190/week @ 2024-11-18 47/week @ 2024-11-25 67/week @ 2024-12-02 84/week @ 2024-12-09

394 downloads per month

MIT license

140KB
3K SLoC

Rust 2.5K SLoC // 0.0% comments Python 270 SLoC // 0.2% comments Shell 122 SLoC // 0.2% comments

Solana Verified Builds

This repository demonstrates how to implement verified builds for Solana programs. Verified builds ensure that your deployed program matches exactly with your public source code, promoting transparency and security in the Solana ecosystem.

What are Verified Builds?

Verified builds allow developers and users to verify that a deployed Solana program matches its source code. This verification:

  • Ensures program authenticity
  • Promotes transparency
  • Builds user trust
  • Makes source code discoverable

Quick Start

  1. Install prerequisites:

    • Docker
    • Cargo
    • Solana Verify CLI (cargo install solana-verify)
  2. Build your program:

solana-verify build
  1. Deploy and verify:
# Deploy
solana program deploy -u $NETWORK_URL target/deploy/$PROGRAM_LIB_NAME.so --program-id $PROGRAM_ID

# Verify against repository -> upload your build data on chain
solana-verify verify-from-repo -u $NETWORK_URL --program-id $PROGRAM_ID https://github.com/$REPO_PATH

# Trigger a remote job
solana-verify remote submit-job --program-id $PROGRAM_ID --uploader $THE_PUBKEY_THAT_UPLOADED_YOUR_BUILD_DATA

Documentation

For detailed instructions and best practices, please refer to the official Solana documentation on verified builds.

Security Considerations

While verified builds enhance transparency, they should not be considered a complete security solution. Always:

  • Review the source code
  • Use trusted build environments
  • Consider using governance solutions for program upgrades

For responsible disclosure of bugs related to verified builds CLI, please email maintainers@ellipsislabs.xyz with a detailed description of the attack vector.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Dependencies

~77MB
~1.5M SLoC