Verifier
A system that verifies the validity of a transaction, based the state of the stream and the ruleset.
Description
The verifier is a self contained system, that implements a single gRPC endpoint that takes a transaction and a stream of transactions, and returns a boolean value indicating if the transaction is valid or not.
The verifier is programmed and configured with a ruleset, that defines the rules for the transactions (rules of the network).
The verifier gets the current state of the stream (the list of transactions) and the transaction to verify. It then uses stream to build the actual state of the object, and based on the ruleset, it verifies the transaction. It returns a boolean value, indicating if the transaction is valid or not, and if not, it returns a reason why.
sequenceDiagram
participant R as Registry
participant V as Verifier
R->>+V: VerifyTransaction(transaction, stream)
V->>V: Build state from stream
V->>V: Verify transaction against state
alt is valid
V->>R: Transaction is valid
else is invalid
V->>-R: Transaction is invalid (reason)
end
Ruleset
The ruleset for different transactions can very if they are only code based or partly configurable.
The issuer verifier are configured with which issuer keys are valid for each grid area
.
Verifier API
Below is the protobuf definition for the verifier API.
It looks like the sample you are looking for does not exist.
Example verifier issuer verifier
Below one can see a implemented verifier. It takes, the transaction, the state object, and deserialized transaction, and verifies if it is valid based on the rules.
It looks like the sample you are looking for does not exist.
System documentation
More documentation can be found in the verifier electricity project.