diff --git a/README.md b/README.md new file mode 100644 index 0000000..8699be1 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Solana Verifier + +A Groth16 verifier implementation for Solana using BN254 precompiles. This crate verifies Groth16 proofs generated with SP1, leveraging Solana's BN254 precompiles for efficient cryptographic operations. + +## Features + +- **Groth16 Proof Verification**: Implements the Groth16 protocol for zero-knowledge proof verification. +- **Solana BN254 Precompiles**: Leverages Solana's native BN254 precompiles for optimized performance. +- **Easy Integration**: Seamlessly integrates with existing Solana programs and infrastructure. +- **Extensible**: Built with modularity in mind, allowing for future enhancements and integrations. + +## Installation + +Add `solana-verifier` to your `Cargo.toml`: + +```toml +[dependencies] +solana-verifier = { git = "https://github.com/0xWOLAND/groth16-verifier" } +``` + diff --git a/example/script/Cargo.lock b/example/script/Cargo.lock index 4f7a6c4..f2ce116 100644 --- a/example/script/Cargo.lock +++ b/example/script/Cargo.lock @@ -1849,6 +1849,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "example-usage" +version = "0.1.0" +dependencies = [ + "clap", + "hex", + "num-bigint 0.4.6", + "num-traits", + "solana-verifier", + "sp1-helper", + "sp1-prover", + "sp1-sdk", + "strum 0.25.0", + "strum_macros 0.25.3", +] + [[package]] name = "eyre" version = "0.6.12" @@ -4158,22 +4174,6 @@ dependencies = [ "rayon", ] -[[package]] -name = "recursive-script" -version = "0.1.0" -dependencies = [ - "clap", - "hex", - "num-bigint 0.4.6", - "num-traits", - "solana-verifier", - "sp1-helper", - "sp1-prover", - "sp1-sdk", - "strum 0.25.0", - "strum_macros 0.25.3", -] - [[package]] name = "redox_syscall" version = "0.5.6" diff --git a/example/script/Cargo.toml b/example/script/Cargo.toml index 1b40893..9c519e6 100644 --- a/example/script/Cargo.toml +++ b/example/script/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "recursive-script" +name = "example-usage" authors = ["Bhargav Annem"] version = "0.1.0" edition = "2021"