Msgs must be signed using the private key associated with the appropriate account(s) before the transaction is broadcast to the network. A transaction must then be included in a block, validated, and approved by the network through the consensus process.
Tx Msgtransaction message
Tx Msgusing a key pair from a wallet or Key Management facility
Tx Msgto a blockchain node using the CLI or
Tx Msgis received by a blockchain node, again a device running the
provenanceddaemon process. The
Tx Msgis placed into the
Mempool Cachefor pre-processing validation. These pre-process checks include checking that the appropriate addresses are not empty, enforcing field checks like non-negative numbers, or other logic specified in the module.
Tx Msgis invalid it is rejected and handled by the User Application. Nothing is added to the blockchain.
Tx Msgpasses pre-processing in
Check Txit is submitted to the
Mempoolwhere is is broadcast to other blockchain peers and eligible for inclusion in a block. The
Mempoolserves the purpose of keeping track of transactions seen by all full-nodes. Full-nodes keep the
Mempool Cacheof the last transactions they have seen, as a first line of defense to prevent replay attacks.
CheckTxis responsible for identifying and rejecting replayed transactions.
Precommit), along with two special steps
NewHeight. Refer to the Tendermint Byzantine Consensus Algorithm for more information.
Tx Msgfrom the
Mempoolit proposes a new block and broadcasts the proposed block.
Tx Msgis in the Prevote phase and each node broadcasts a prevote and listens for prevotes from other nodes.
provenancedbinary can be considered a User Application when run via the command-line as a client.
provenanceddaemon process is bundled with gRPC endpoints by default. The endpoints are defined as Protocol Buffers service methods inside
.protofiles, written in Protobuf's own language-agnostic interface definition language (IDL). The Protobuf ecosystem developed tools for code-generation from
*.protofiles into various languages. These tools allow to build gRPC clients easily.