Description
opened on Apr 3, 2020
Summary
- Following the specification outlined in ADR 021 - Protocol Buffer Query Support #5894, for each module:
- implement a
Query
gRPCservice
definition along withgoogle.api.http
REST routes intypes.proto
- implement the
QueryServer
and wire it up to the app module (after GRPC querier init and bank #5953 is merged) - LEAVE the existing querier and REST routes in place and mark them as deprecated (to be removed after v0.40) so that block explorers do not break and have time to migrate
- follow pagination guidelines addressed in Efficient Querier Pagination #6191
Query
service:
- init PRs - Add GRPCRouter #6325, Integrate gRPC queries into BaseApp #6335, Add RegisterQueryService to AppModule #6336, Make client.Context implement gRPC ClientConn #6342
- x/bank - Add basic x/bank gRPC query service #6343
- x/auth - x/auth: gRPC query service #6565
-
x/crisis(no queries) - x/distribution - x/distribution: gRPC query service #6600
- x/evidence (x/evidence: gRPC query service #6593)
- x/mint - (x/mint: gRPC query service #6535)
- x/gov - x/gov: gRPC query Service #6491
- x/slashing - x/Slashing: gRPC query service #6597
- x/staking - x/staking: gRPC query Service #6490
- x/upgrade - x/upgrade gRPC query service #6590
- x/ibc - x/ibc: gRPC query service #6466
CLI query commands:
Some may be blocked on #6571.
- add flags for pagination: offset, limit and key (see also Add missing pagination flags #6617)
- x/bank Convert x/bank query CLI commands to use gRPC query client #6367
- x/auth x/auth: cli gRPC migration #6809
-
x/crisis(no queries) - x/distribution x/{gov,params,upgrade,distribution} CLI: In-Process test & use grpc query service #6664
- x/evidence Update x/{mint,slashing,evidence} cli to use gRPC query client #6704
- x/mint Update x/{mint,slashing,evidence} cli to use gRPC query client #6704
- x/gov x/{gov,params,upgrade,distribution} CLI: In-Process test & use grpc query service #6664
- x/slashing Update x/{mint,slashing,evidence} cli to use gRPC query client #6704
- x/staking x/staking: cli migration to use gRPC query client #6728
- x/upgrade x/upgrade: Refactor CLI to use protobuf query #6623
- x/ibc
- Wire up gRPC + grpc-gateway + grpc-web proxy
- Add gRPC server & reflection #6463 create a gRPC server wired up with
BaseApp
- Add gRPC server & reflection #6463 add gRPC reflection (https://pkg.go.dev/google.golang.org/grpc/reflection)
- gRPC interface reflection. #6722 add interface reflection
- Add flag & toml config for gRPC server #6933 create flag (enabled by default) to launch the gRPC server in the same process as the API ABCI server
- create flag (enabled by default) to launch grpc-gateway in the same process as the ABCI server gRPC gateway init #7019 Add swagger for gRPC REST #7075 Register
x/mint
gRPC gateway routes #7214 Register gRPC Gateway routes #7173 Adds grpc tests for x/staking #7204 - helper scripts for setting up grpc-gateway + swagger generation
- create flag (enabled by default) to launch the grpc-web proxy for non-HTTP2 grpc-web clients
- add grpc-gateway REST annotations
All tackled in #6918:
- add
google.api.http
proto files - x/bank
- x/auth
- x/distribution
- x/evidence
- x/mint
- x/gov
- x/slashing
- x/staking
- x/upgrade
- x/ibc
- x/ibc-transfer
Activity