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

A type binding runtime-level Public/Signature pair with crypto wrapped by RuntimeAppPublic.
Create signed transaction.
Submit a signed transaction to the transaction pool.
A definition of types required to submit transactions from within the runtime.
Submit an unsigned transaction onchain with a signed payload
A message signer.
Utility trait to be implemented on payloads that can be signed.
A wrapper around the types which are used for signing.