GRPC Documentation - PropagationAPI
Table of Contents
propagation_api.proto
Package propagation_api provides gRPC services for Bitcoin SV transaction propagation. It handles individual and batch transaction processing, health checks, and debugging capabilities for the BSV network.
EmptyMessage
Represents an empty request or response. Used when no additional data needs to be transmitted.
swagger:model EmptyMessage
BatchTransactionItem
Represents a single transaction item in a batch request with trace context support.
swagger:model BatchTransactionItem
| Field | Type | Label | Description |
|---|---|---|---|
| tx | bytes | Raw transaction bytes to process | |
| trace_context | map |
Serialized OpenTelemetry trace context as key-value pairs for proper span propagation |
HealthResponse
Provides information about the service's health status.
swagger:model HealthResponse
| Field | Type | Label | Description |
|---|---|---|---|
| ok | bool | Indicates whether the service is healthy | |
| details | string | Provides additional information about the health status | |
| timestamp | google.protobuf.Timestamp | Indicates when the health check was performed |
ProcessTransactionBatchRequest
Represents a request to process multiple transactions in a batch.
swagger:model ProcessTransactionBatchRequest
| Field | Type | Label | Description |
|---|---|---|---|
| items | BatchTransactionItem | repeated | Array of transaction items to process, each containing transaction bytes and trace context |
ProcessTransactionBatchResponse
Contains the results of batch transaction processing.
swagger:model ProcessTransactionBatchResponse
| Field | Type | Label | Description |
|---|---|---|---|
| errors | errors.TError | repeated | Error messages for each transaction in the batch. Empty string indicates success for that transaction. |
ProcessTransactionRequest
Represents a request to process a single transaction.
swagger:model ProcessTransactionRequest
| Field | Type | Label | Description |
|---|---|---|---|
| tx | bytes | Raw transaction bytes to process |
PropagationAPI
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| HealthGRPC | EmptyMessage | HealthResponse | Checks the health status of the propagation service and its dependencies. Returns a HealthResponse containing the service status and details. |
| ProcessTransaction | ProcessTransactionRequest | EmptyMessage | Processes a single BSV transaction. The transaction must be provided in raw byte format and must be extended. Coinbase transactions are not allowed. |
| ProcessTransactionBatch | ProcessTransactionBatchRequest | ProcessTransactionBatchResponse | Processes multiple transactions in a single request. This is more efficient than processing transactions individually when dealing with large numbers of transactions. |