Pseudo-Transactions
Pseudo-transactions are never submitted by users, nor propagated through the network. Instead, a server may choose to inject pseudo-transactions in a proposed ledger directly according to specific protocol rules. If enough servers propose the exact same pseudo-transaction, the consensus process approves it, and the pseudo-transaction is included in that ledger's transaction data.
Special Values for Common Fields
Some of the required common fields for normal transactions do not make sense for pseudo-transactions. Pseudo-transactions use following special values for these common fields:
Field | JSON Type | Internal Type | Value |
---|---|---|---|
Account |
String | AccountID | ACCOUNT_ZERO |
Fee |
String | Amount | 0 |
Sequence |
Number | UInt32 | 0 |
SigningPubKey |
String | Blob | "" (Empty string) |
TxnSignature |
String | Blob | "" (Empty string) |
Pseudo-transactions use the following common fields as normal:
TransactionType
Flags
Field | JSON Type | Internal Type | Description |
---|---|---|---|
TransactionType |
String | UInt16 | (Required) The type of transaction. |
Flags |
Number | UInt32 | (Optional) A set of bit-flags for this transaction. The meaning of specific flags varies based on the transaction type. |
- EnableAmendment
Enable a change in transaction processing.
- SetFee
Change global reserve and transaction cost settings.
- UNLModify
Change the list of trusted validators currently considered offline.