[][src]Trait sawtooth_sdk::processor::handler::TransactionHandler

pub trait TransactionHandler {
    fn family_name(&self) -> String;
fn family_versions(&self) -> Vec<String>;
fn namespaces(&self) -> Vec<String>;
fn apply(
        &self,
        request: &TpProcessRequest,
        context: &mut dyn TransactionContext
    ) -> Result<(), ApplyError>; }

Required methods

fn family_name(&self) -> String

TransactionHandler that defines the business logic for a new transaction family. The family_name, family_versions, and namespaces functions are used by the processor to route processing requests to the handler. family_name should return the name of the transaction family that this handler can process, e.g. "intkey"

fn family_versions(&self) -> Vec<String>

family_versions should return a list of versions this transaction family handler can process, e.g. ["1.0"]

fn namespaces(&self) -> Vec<String>

namespaces should return a list containing all the handler's namespaces, e.g. ["abcdef"]

fn apply(
    &self,
    request: &TpProcessRequest,
    context: &mut dyn TransactionContext
) -> Result<(), ApplyError>

Apply is the single method where all the business logic for a transaction family is defined. The method will be called by the transaction processor upon receiving a TpProcessRequest that the handler understands and will pass in the TpProcessRequest and an initialized instance of the Context type.

Loading content...

Implementors

Loading content...