[−][src]Struct dusk_plonk::proof_system::prover::Prover
Prover composes a circuit and builds a proof
Fields
prover_key: Option<ProverKey>
ProverKey which is used to create proofs about a specific PLONK circuit
preprocessed_transcript: Transcript
Store the messages exchanged during the preprocessing stage This is copied each time, we make a proof
Implementations
impl Prover
[src][−]
pub fn mut_cs(&mut self) -> &mut StandardComposer
[src][−]
Returns a mutable copy of the underlying composer
pub fn preprocess(&mut self, commit_key: &CommitKey) -> Result<(), Error>
[src][−]
Preprocesses the underlying constraint system
impl Prover
[src][−]
pub fn new(label: &'static [u8]) -> Prover
[src][−]
Creates a new prover object
pub fn circuit_size(&self) -> usize
[src][−]
Returns the number of gates in the circuit
pub fn clear_witness(&mut self)
[src][−]
Resets the witnesses in the prover object. This function is used when the user wants to make multiple proofs with the same circuit.
pub fn clear(&mut self)
[src][−]
Clears all data in the Prover This function is used when the user wants to use the same Prover to make a proof regarding a different circuit.
pub fn key_transcript(&mut self, label: &'static [u8], message: &[u8])
[src][−]
Keys the transcript with additional seed information Wrapper around transcript.append_message
pub fn prove_with_preprocessed(
&self,
commit_key: &CommitKey,
prover_key: &ProverKey
) -> Result<Proof, Error>
[src][−]
&self,
commit_key: &CommitKey,
prover_key: &ProverKey
) -> Result<Proof, Error>
Creates a Proof that a circuit is satisfied
Note that if you intend to make multiple proofs, after calling this method, the user should then
call clear_witness
. This is automatically done when prove
is called
pub fn prove(&mut self, commit_key: &CommitKey) -> Result<Proof, Error>
[src][−]
Proves a circuit is satisfied, then clears the witness variables If the circuit is not pre-processed, then the preprocessed circuit will also be computed
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Prover
impl Send for Prover
impl Sync for Prover
impl Unpin for Prover
impl UnwindSafe for Prover
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[+]
V: MultiLane<T>,