Module frame_system::offchain

source ·
Expand description

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

  • Details of an account for which a private key is contained in the keystore.
  • Marker struct used to flag using all supported keys to sign a payload.
  • Marker struct used to flag using any of the supported keys to sign a payload.
  • Provides an implementation for signing transaction payloads.
  • Provides the ability to directly submit signed and unsigned transaction onchain.

Traits