github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/sawtooth-core-master/validator/src/block.rs (about)

     1  /*
     2   * Copyright 2018 Intel Corporation
     3   *
     4   * Licensed under the Apache License, Version 2.0 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *
     8   *     http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   * ------------------------------------------------------------------------------
    16   */
    17  
    18  use batch::Batch;
    19  use std::fmt;
    20  
    21  #[derive(Clone, Debug, PartialEq, Default)]
    22  pub struct Block {
    23      pub header_signature: String,
    24      pub batches: Vec<Batch>,
    25      pub state_root_hash: String,
    26      pub consensus: Vec<u8>,
    27      pub batch_ids: Vec<String>,
    28      pub signer_public_key: String,
    29      pub previous_block_id: String,
    30      pub block_num: u64,
    31  
    32      pub header_bytes: Vec<u8>,
    33  }
    34  
    35  impl fmt::Display for Block {
    36      fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    37          write!(
    38              f,
    39              "Block(id: {}, block_num: {}, state_root_hash: {}, previous_block_id: {})",
    40              self.header_signature, self.block_num, self.state_root_hash, self.previous_block_id
    41          )
    42      }
    43  }