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 byRuntimeAppPublic
. - 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.