All Downloads are FREE. Search and download functionalities are using the official Maven repository.

event.gossip_event.proto Maven / Gradle / Ivy

There is a newer version: 0.54.0
Show newest version
/**
 * # Gossip Event
 * An event that is sent and received via gossip
 *
 * ### Keywords
 * The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 * "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 * document are to be interpreted as described in [RFC2119](https://www.ietf.org/rfc/rfc2119).
 */
syntax = "proto3";

package com.hedera.hapi.platform.event;

/*
 * Hedera Network Services Protobuf
 *
 * Copyright (C) 2024 Hedera Hashgraph, LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import "event/event_transaction.proto";
import "event/event_core.proto";

option java_package = "com.hedera.hapi.platform.event.legacy";
// <<>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

/**
 * An event that is sent and received via gossip
 */
message GossipEvent {
  /**
   * The core event data
   */
  EventCore event_core = 1;

  /**
   * A node signature on the event hash.
* The signature SHALL be created with the SHA384withRSA algorithm.
* The signature MUST verify using the public key belonging to the `event_creator`.
* The `event_creator` public key SHALL be read from the address book that corresponds to the event's birth round.
* The signed event hash SHALL be a SHA-384 hash.
* The signed event hash SHALL have the following inputs, in the specified order:
* 1. The bytes of the `event_core` field
* 2. The SHA-384 hash of each individual `EventTransaction`, in the order the transaction appear in the `event_transaction` field */ bytes signature = 2; /** * The event transaction. *

* This field MAY contain zero transactions.
* This field MUST NOT exceed `maxTransactionCountPerEvent` entries, initially `245760`.
* This total size of this field MUST NOT exceed `maxTransactionBytesPerEvent`, initially `245760` bytes. */ repeated EventTransaction event_transaction = 3; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy