Module fabric_system::offchain[][src]

Module helpers for off-chain calls.

Overview

This module provides transaction related helpers to:

  • Submit a raw unsigned transaction
  • Submit an unsigned transaction with a signed payload
  • Submit a signed transction.

Usage

Please refer to example-offchain-worker for a concrete example usage of this crate.

Submit a raw unsigned transaction

To submit a raw unsigned transaction, SubmitTransaction can be used.

Signing transactions

To be able to use signing, the following trait should be implemented:

  • AppCrypto: where an application-specific key is defined and can be used by this module’s helpers for signing.
  • CreateSignedTransaction: where the manner in which the transaction is constructed is defined.

Submit an unsigned transaction with a signed payload

Initially, a payload instance that implements the SignedPayload trait should be defined. See PricePayload

The payload type that is defined defined can then be signed and submitted onchain.

Submit a signed transaction

Signer can be used to sign/verify payloads

Structs

Account

Details of an account for which a private key is contained in the keystore.

ForAll

Marker struct used to flag using all supported keys to sign a payload.

ForAny

Marker struct used to flag using any of the supported keys to sign a payload.

Signer

Provides an implementation for signing transaction payloads.

SubmitTransaction

Provides the ability to directly submit signed and unsigned transaction onchain.

Traits

AppCrypto

A type binding runtime-level Public/Signature pair with crypto wrapped by RuntimeAppPublic.

CreateSignedTransaction

Create signed transaction.

SendSignedTransaction

Submit a signed transaction to the transaction pool.

SendTransactionTypes

A definition of types required to submit transactions from within the runtime.

SendUnsignedTransaction

Submit an unsigned transaction onchain with a signed payload

SignMessage

A message signer.

SignedPayload

Utility trait to be implemented on payloads that can be signed.

SigningTypes

A wrapper around the types which are used for signing.