github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/sawtooth-core-master/protos/transaction.proto (about)

     1  // Copyright 2016 Intel Corporation
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  // -----------------------------------------------------------------------------
    15  
    16  syntax = "proto3";
    17  
    18  option java_multiple_files = true;
    19  option java_package = "sawtooth.sdk.protobuf";
    20  option go_package = "transaction_pb2";
    21  
    22  message TransactionHeader {
    23      // Public key for the client who added this transaction to a batch
    24      string batcher_public_key = 1;
    25  
    26      // A list of transaction signatures that describe the transactions that
    27      // must be processed before this transaction can be valid
    28      repeated string dependencies = 2;
    29  
    30      // The family name correlates to the transaction processor's family name
    31      // that this transaction can be processed on, for example 'intkey'
    32      string family_name = 3;
    33  
    34      // The family version correlates to the transaction processor's family
    35      // version that this transaction can be processed on, for example "1.0"
    36      string family_version = 4;
    37  
    38      // A list of addresses that are given to the context manager and control
    39      // what addresses the transaction processor is allowed to read from.
    40      repeated string inputs = 5;
    41  
    42      // A random string that provides uniqueness for transactions with
    43      // otherwise identical fields.
    44      string nonce = 6;
    45  
    46      // A list of addresses that are given to the context manager and control
    47      // what addresses the transaction processor is allowed to write to.
    48      repeated string outputs = 7;
    49  
    50      //The sha512 hash of the encoded payload
    51      string payload_sha512 = 9;
    52  
    53      // Public key for the client that signed the TransactionHeader
    54      string signer_public_key = 10;
    55  }
    56  
    57  message Transaction {
    58      // The serialized version of the TransactionHeader
    59      bytes header = 1;
    60  
    61      // The signature derived from signing the header
    62      string header_signature = 2;
    63  
    64      // The payload is the encoded family specific information of the
    65      // transaction. Example cbor({'Verb': verb, 'Name': name,'Value': value})
    66      bytes payload = 3;
    67  }
    68  
    69  // A simple list of transactions that needs to be serialized before
    70  // it can be transmitted to a batcher.
    71  message TransactionList {
    72      repeated Transaction transactions = 1;
    73  }