Files
node/proto
Hanzo AI 8efcdff444 rpcdb: decomplect into Layer A/B/C topology
Layer A — wire framing: github.com/luxfi/api/zap (unchanged)
Layer B — service spec: github.com/luxfi/proto/rpcdb (transport-agnostic
   data carriers, was node/proto/zap/rpcdb)
Layer C — service impl + transports: node/db/rpcdb/
   - service.go      transport-neutral Service wrapping database.Database
   - zap_server.go   ZAP transport adapter (default; used by cevm)
   - grpc_server.go  gRPC transport adapter (-tags=grpc)

One Service. Many transport adapters. Adding a transport is a new
adapter file wrapping *Service; storage logic stays in service.go.

Removed (-1390 LOC of duplicate/dead code):
 - node/proto/zap/rpcdb/rpcdb.go (moved to luxfi/proto/rpcdb)
 - node/proto/rpcdb/rpcdb_zap.go (dead HandlerRegistry path, no callers)
 - node/proto/rpcdb/rpcdb_grpc.go (duplicated gRPC server, replaced by
   node/db/rpcdb/grpc_server.go)
 - node/db/rpcdb/db.go (re-export shim, replaced by Service)

Consumers updated to import the canonical adapter at node/db/rpcdb:
 - vms/rpcchainvm/zap/client.go
 - vms/rpcchainvm/zap/client_dbserver_test.go
 - vms/rpcchainvm/zap/cevm_e2e_test.go

go.mod: add `replace github.com/luxfi/proto => ../proto` for in-tree
  development of the central wire-types module.

Tests: db/rpcdb (3/3) + rpcchainvm/zap (4/4 incl. cevm cross-process
e2e — KP_META written via ZAP db channel, no fallback to local zapdb).
2026-05-15 15:47:44 -07:00
..

Lux gRPC

Now Serving: Protocol Version 42

Protobuf files are hosted at https://buf.build/luxfi/lux and can be used as dependencies in other projects.

Protobuf linting and generation for this project is managed by buf.

Please find installation instructions on https://docs.buf.build/installation/.

Any changes made to proto definition can be updated by running protobuf_codegen.sh located in the scripts/ directory of Lux Node.

buf Quickstart https://buf.build/docs/cli/quickstart

Protocol Version Compatibility

The protobuf definitions and generated code are versioned based on the RPCChainVMProtocol defined for the RPCChainVM. Many versions of a Lux client can use the same RPCChainVMProtocol. But each Lux client and chain VM must use the same protocol version to be compatible.

Publishing to Buf Schema Registry

  • Checkout appropriate tag in Lux Node git checkout v1.10.1
  • Change to proto/ directory cd proto.
  • Publish new tag to buf registry. buf push -t v26

Note: Publishing requires auth to the luxfi org in buf https://buf.build/luxfi/repositories