Get desktop application:
View/edit binary Protocol Buffers messages
broadcast receives a reply of Acknowledgement for each common.Envelope in order, indicating success or type of failure
Status code, which may be used to programatically respond to success/failure
Info string which may contain additional information about the status returned
deliver first requires an Envelope of type DELIVER_SEEK_INFO with Payload data as a mashaled SeekInfo message, then a stream of block replies is received.
Cluster defines communication between cluster members.
Step passes an implementation-specific message to another cluster member.
StepRequest wraps a message that is sent to a cluster member.
consensus_request is a consensus specific message.
submit_request is a relay of a transaction.
StepResponse is a message received from a cluster member.
Simply specified as number of messages for now, in the future we may want to allow this to be specified by size in bytes
The byte count of the serialized messages in a batch cannot exceed this value.
The byte count of the serialized messages in a batch should not exceed this value.
Any duration string parseable by ParseDuration(): https://golang.org/pkg/time/#ParseDuration
ChannelRestrictions is the mssage which conveys restrictions on channel creation for an orderer
The max count of channels to allow to be created, a value of 0 indicates no limit
ConsensusRequest is a consensus specific message sent to a cluster member.
Used in:
The consensus type: "solo", "kafka" or "etcdraft".
Opaque metadata, dependent on the consensus type.
The state signals the ordering service to go into maintenance mode, typically for consensus-type migration.
State defines the orderer mode of operation, typically for consensus-type migration. NORMAL is during normal operation, when consensus-type migration is not, and can not, take place. MAINTENANCE is when the consensus-type can be changed.
Used in:
Carries a list of bootstrap brokers, i.e. this is not the exclusive set of brokers an ordering service
Each broker here should be identified using the (IP|host):port notation, e.g. 127.0.0.1:7050, or localhost:7050 are valid entries
KafkaMessage is a wrapper type for the messages that the Kafka-based orderer deals with.
KafkaMessageConnect is posted by an orderer upon booting up. It is used to prevent the panic that would be caused if we were to consume an empty partition. It is ignored by all orderers when processing the partition.
Used in:
KafkaMessageRegular wraps a marshalled envelope.
Used in:
Used in:
KafkaMessageTimeToCut is used to signal to the orderers that it is time to cut block <block_number>.
Used in:
KafkaMetadata is encoded into the ORDERER block to keep track of Kafka-related metadata associated with this block.
LastOffsetPersisted is the encoded value for the Metadata message which is encoded in the ORDERER block metadata index for the case of the Kafka-based orderer.
LastOriginalOffsetProcessed is used to keep track of the newest offset processed if a message is re-validated and re-ordered. This value is used to deduplicate re-submitted messages from multiple orderer so that we don't bother re-processing it again.
LastResubmittedConfigOffset is used to capture the newest offset of CONFIG kafka message, which is revalidated and resubmitted. By comparing this with LastOriginalOffsetProcessed, we could detemine whether there are still CONFIG messages that have been resubmitted but NOT processed yet. It's used as condition to block ingress messages, so we could reduce the overhead of repeatedly resubmitting messages as config seq keeps advancing.
SeekInfo specifies the range of requested blocks to return If the start position is not found, an error is immediately returned Otherwise, blocks are returned until a missing block is encountered, then behavior is dictated by the SeekBehavior specified.
The position to start the deliver from
The position to stop the deliver
The behavior when a missing block is encountered
How to respond to errors reported to the deliver service
If BLOCK_UNTIL_READY is specified, the reply will block until the requested blocks are available, if FAIL_IF_NOT_READY is specified, the reply will return an error indicating that the block is not found. To request that all blocks be returned indefinitely as they are created, behavior should be set to BLOCK_UNTIL_READY and the stop should be set to specified with a number of MAX_UINT64
Used in:
SeekErrorTolerance indicates to the server how block provider errors should be tolerated. By default, if the deliver service detects a problem in the underlying block source (typically, in the orderer, a consenter error), it will begin to reject deliver requests. This is to prevent a client from waiting for blocks from an orderer which is stuck in an errored state. This is almost always the desired behavior and clients should stick with the default STRICT checking behavior. However, in some scenarios, particularly when attempting to recover from a crash or other corruption, it's desirable to force an orderer to respond with blocks on a best effort basis, even if the backing consensus implementation is in an errored state. In this case, set the SeekErrorResponse to BEST_EFFORT to ignore the consenter errors.
Used in:
Used in:
(message has no fields)
SeekNextCommit refers to the next block that will be committed
Used in:
(message has no fields)
Used in:
(message has no fields)
Used in:
Used in:
SubmitRequest wraps a transaction to be sent for ordering.
Used in:
last_validation_seq denotes the last configuration sequence at which the sender validated this message.
content is the fabric transaction that is forwarded to the cluster member.
SubmitResponse returns a success or failure status to the sender.
Used in:
Status code, which may be used to programatically respond to success/failure.
Info string which may contain additional information about the returned status.