Skip to main content

Crate genshi_emit_solana

Crate genshi_emit_solana 

Source
Expand description

Anchor program codegen for genshi PLONK-KZG verifiers on Solana.

Given one or more [VerificationKey]s and an [SRS], emits a complete, self-contained Anchor program that verifies genshi proofs on-chain using only sol_alt_bn128_* syscalls. The emitted program has zero runtime dependency on genshi-core — the verifier algorithm and transcript are copied verbatim at emit time and pinned to the emit-time version.

This mirrors the EVM story (genshi-evm emits a self-contained Solidity contract) and gives deployers an auditable, version-pinned artifact.

§Usage

use genshi_emit_solana::{EmitConfig, emit_program};
use genshi_core::proving::srs::SRS;

let srs = SRS::insecure_for_testing(256);
let vk_bytes: Vec<u8> = /* serialized VK from genshi CLI */;

let mut config = EmitConfig::new("my-verifier", "./out/");
config.add_circuit("withdraw", vk_bytes);

emit_program(&config, &srs).expect("emit failed");

Re-exports§

pub use config::EmitConfig;
pub use emitter::emit_program;
pub use emitter::EmitError;

Modules§

config
emitter
templates