GetTransactionState
Method Details​
Description: Retrieves a single Transaction state by the unique identifier of the transaction
Required Roles: Check proto file for roles
Parameters:
Name(string) (required): Name of the Transaction whose state is to be retrieved. Format: transactions/{ULIDv2}
Returns: GetTransactionStateResponse
Method Type: METHOD_TYPE_READ
Code Examples​
- Go
- Python
- Java
- Protobuf
package main
import (
"context"
"log"
transactionv1 "github.com/meshtrade/api/go/ledger/transaction/v1"
)
func main() {
ctx := context.Background()
// Default configuration is used and credentials come from MESH_API_CREDENTIALS
// environment variable or default discovery methods. Zero config required
// unless you want custom configuration.
service, err := transactionv1.NewTransactionService()
if err != nil {
log.Fatalf("Failed to create service: %v", err)
}
defer service.Close()
// Create request with service-specific parameters
request := &transactionv1.GetTransactionStateRequest{
// FIXME: Populate service-specific request fields
}
// Call the GetTransactionState method
response, err := service.GetTransactionState(ctx, request)
if err != nil {
log.Fatalf("GetTransactionState failed: %v", err)
}
// FIXME: Add relevant response object usage
log.Printf("GetTransactionState successful: %+v", response)
}
from meshtrade.ledger.transaction.v1 import (
GetTransactionStateRequest,
TransactionService,
)
def main():
# Default configuration is used and credentials come from MESH_API_CREDENTIALS
# environment variable or default discovery methods. Zero config required
# unless you want custom configuration.
service = TransactionService()
with service:
# Create request with service-specific parameters
request = GetTransactionStateRequest(
# FIXME: Populate service-specific request fields
)
# Call the GetTransactionState method
response = service.get_transaction_state(request)
# FIXME: Add relevant response object usage
print("GetTransactionState successful:", response)
if __name__ == "__main__":
main()
import co.meshtrade.api.ledger.transaction.v1.TransactionService;
import co.meshtrade.api.ledger.transaction.v1.Service.GetTransactionStateRequest;
import co.meshtrade.api.ledger.transaction.v1.Service.GetTransactionStateResponse;
import java.util.Optional;
public class GetTransactionStateExample {
public static void main(String[] args) {
// Default configuration is used and credentials come from MESH_API_CREDENTIALS
// environment variable or default discovery methods. Zero config required
// unless you want custom configuration.
try (TransactionService service = new TransactionService()) {
// Create request with service-specific parameters
GetTransactionStateRequest request = GetTransactionStateRequest.newBuilder()
// FIXME: Populate service-specific request fields
.build();
// Call the GetTransactionState method
GetTransactionStateResponse response = service.getTransactionState(request, Optional.empty());
// FIXME: Add relevant response object usage
System.out.println("GetTransactionState successful: " + response);
} catch (Exception e) {
System.err.println("GetTransactionState failed: " + e.getMessage());
e.printStackTrace();
}
}
}
syntax = "proto3";
package meshtrade.ledger.transaction.v1;
import "buf/validate/validate.proto";
import "meshtrade/iam/role/v1/role.proto";
import "meshtrade/option/v1/method_type.proto";
import "meshtrade/ledger/transaction/v1/transaction_state.proto";
option go_package = "github.com/meshtrade/api/go/ledger/transaction/v1;transaction_v1";
option java_package = "co.meshtrade.api.ledger.transaction.v1";
/*
TransactionService manages Transaction lifecycle.
*/
service TransactionService {
/*
Retrieves a single Transaction state by the unique identifier of the transaction
*/
rpc GetTransactionState(GetTransactionStateRequest) returns (GetTransactionStateResponse) {
option (meshtrade.option.v1.method_type) = METHOD_TYPE_READ;
option (meshtrade.iam.role.v1.roles) = {
roles: [
ROLE_LEDGER_ADMIN,
ROLE_LEDGER_VIEWER,
ROLE_LEDGER_TRANSACTION_ADMIN,
ROLE_LEDGER_TRANSACTION_VIEWER
]
};
}
/*
Monitor Transaction state changes by the unique identifier of the transaction.
Server-side streaming method that sends state updates as the transaction progresses.
*/
rpc MonitorTransactionState(MonitorTransactionStateRequest) returns (stream MonitorTransactionStateResponse) {
option (meshtrade.option.v1.method_type) = METHOD_TYPE_READ;
option (meshtrade.iam.role.v1.roles) = {
roles: [
ROLE_LEDGER_ADMIN,
ROLE_LEDGER_VIEWER,
ROLE_LEDGER_TRANSACTION_ADMIN,
ROLE_LEDGER_TRANSACTION_VIEWER
]
};
}
}
message GetTransactionStateRequest {
/*
Name of the Transaction whose state is to be retrieved.
Format: transactions/{ULIDv2}
*/
string name = 1 [(buf.validate.field) = {
required: true,
string: {
len: 39,
pattern: "^transactions/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
}
}];
}
message GetTransactionStateResponse {
meshtrade.ledger.transaction.v1.TransactionState state = 1;
}
message MonitorTransactionStateRequest {
/*
Name of the Transaction whose state is to be retrieved.
Format: transactions/{ULIDv2}
*/
string name = 1 [(buf.validate.field) = {
required: true,
string: {
len: 39,
pattern: "^transactions/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
}
}];
}
message MonitorTransactionStateResponse {
meshtrade.ledger.transaction.v1.TransactionState state = 1;
}
Advanced Configuration​
For advanced client configuration options (custom endpoints, TLS settings, timeouts), see the SDK Configuration Guide.
Other Methods​
- Ledger Transaction v1 Method List - For Other methods