Go Client
The Go client module contains the generated MXAccess Gateway protobuf bindings,
a small handwritten mxgateway package, and the mxgw-go test CLI scaffold.
The module uses the shared proto inputs documented in
../../docs/client-proto-generation.md so gateway and client contracts stay in
sync.
Layout
clients/go/
go.mod
generate-proto.ps1
internal/generated/
mxgateway/
cmd/mxgw-go/
internal/generated contains code produced by protoc, protoc-gen-go, and
protoc-gen-go-grpc. Do not edit generated files by hand.
Regenerating Protobuf Bindings
Run generation after the shared .proto files or the Go output path changes:
./generate-proto.ps1
The script uses the tool paths recorded in ../../docs/toolchain-links.md.
Build And Test
Run the Go module checks from clients/go:
go test ./...
go build ./...
The scaffold tests parse the shared golden JSON fixtures with the generated Go types. Later client implementation tests add fake gRPC services, auth metadata, streaming, value conversion, and CLI behavior.
CLI
The scaffold CLI exposes version information:
go run ./cmd/mxgw-go version -json
Additional commands are implemented with the client/session wrapper work.