3.2. Transactions

From СhainInLaw
Jump to: navigation, search

Transactions are based on the UTXO model. The main feature of the transaction in the platform is witnessGroupId, defining a group of validators (Consilium) and an authorized user (sender transaction).

An example of a transaction is shown below:
message input {
bytes txHash = 1;
uint 32 nTxOutput = 2;}
message output {
possibly here should be uint64 or bytes (BN)
fixed64 amount = 1; payment receiver
bytes receiverAddr = 2; 3
if receiverAddr is AddrContractCreation
bytes contractCode = 3;} message TransactionPayload { uint32 version = 3;
uint32 witnessGroupId = 4;
place it fields
repeated input ins = 1; repeated output outs = 2;} message Transaction {
place here non hashed fields TransactionPayload payload = 1;
repeated bytes claimProofs = 2;}

The general structure of the transaction is shown in the diagram below:

4.png

The value of the hash function from Payload is a TransactionHash which is also transaction ID in the network.