Parameters
Pass two parameters. The first is a signed, serialized transaction. The second contains a non-emptyvalidity array.
The validity array must include a block_number predicate with an upper bound (<, <=, or =). The last block it allows must be no earlier than the block being built and within 60 seconds of submission. See Expiry.
The block number in this example is a placeholder. Before you submit, call eth_blockNumber and use the latest block number plus 10, as a 0x-prefixed hexadecimal string.
Predicates
The supported operators are
<, <=, =, !=, >, and >=. Predicate values use 0x-prefixed hexadecimal strings. The mask defaults to all ones.
Limits
In base/base v1.4.2, the node accepts up to 64 predicates per transaction by default. Treat this as an implementation default, not a stable API guarantee. The method rejects a request with more predicates than the limit. Each transaction also needs ablock_number expiry. Read Expiry for expiry rules.
These docs do not yet specify a separate storage-read cost or limit for storage predicates. They also do not specify whether validity transactions propagate to other nodes. Do not depend on either behavior.
Returns
string
The 32-byte hash of the submitted transaction.