Search code examples
goblockchainprotocprotobuf-gocosmos-sdk

Compile time error of cosmos-sdk/proto/bank/v1beta1/query.proto file


After installing the protoc and saving the cosmos-sdk/proto/bank/v1beta1/query.proto file this file shows a lot of error and for acknowledging the error I ran this command protoc --go_out=. query.proto

Here is the problem detail:

saiful@saiful-Inspiron-3542:~/Desktop/TestCosmos/cosmos-sdk/proto/cosmos/bank/v1beta1$ protoc --go_out=. query.proto
cosmos/base/query/v1beta1/pagination.proto: File not found.
gogoproto/gogo.proto: File not found.
google/api/annotations.proto: File not found.
cosmos/base/v1beta1/coin.proto: File not found.
cosmos/bank/v1beta1/bank.proto: File not found.
cosmos_proto/cosmos.proto: File not found.
cosmos/query/v1/query.proto: File not found.
amino/amino.proto: File not found.
query.proto:4:1: Import "cosmos/base/query/v1beta1/pagination.proto" was not found or had errors.
query.proto:5:1: Import "gogoproto/gogo.proto" was not found or had errors.
query.proto:6:1: Import "google/api/annotations.proto" was not found or had errors.
query.proto:7:1: Import "cosmos/base/v1beta1/coin.proto" was not found or had errors.
query.proto:8:1: Import "cosmos/bank/v1beta1/bank.proto" was not found or had errors.
query.proto:9:1: Import "cosmos_proto/cosmos.proto" was not found or had errors.
query.proto:10:1: Import "cosmos/query/v1/query.proto" was not found or had errors.
query.proto:11:1: Import "amino/amino.proto" was not found or had errors.
query.proto:135:3: "cosmos.base.v1beta1.Coin" is not defined.
query.proto:147:3: "cosmos.base.query.v1beta1.PageRequest" is not defined.
query.proto:159:12: "cosmos.base.v1beta1.Coin" is not defined.
query.proto:167:3: "cosmos.base.query.v1beta1.PageResponse" is not defined.
query.proto:182:3: "cosmos.base.query.v1beta1.PageRequest" is not defined.
query.proto:191:12: "cosmos.base.v1beta1.Coin" is not defined.
query.proto:199:3: "cosmos.base.query.v1beta1.PageResponse" is not defined.
query.proto:223:3: "cosmos.base.v1beta1.Coin" is not defined.
query.proto:235:3: "cosmos.base.query.v1beta1.PageRequest" is not defined.
query.proto:242:12: "cosmos.base.v1beta1.Coin" is not defined.
query.proto:252:3: "cosmos.base.query.v1beta1.PageResponse" is not defined.
query.proto:264:3: "cosmos.base.v1beta1.Coin" is not defined.
query.proto:273:3: "Params" is not defined.
query.proto:279:3: "cosmos.base.query.v1beta1.PageRequest" is not defined.
query.proto:286:12: "Metadata" is not defined.
query.proto:289:3: "cosmos.base.query.v1beta1.PageResponse" is not defined.
query.proto:302:3: "Metadata" is not defined.
query.proto:313:3: "cosmos.base.query.v1beta1.PageRequest" is not defined.
query.proto:326:3: "cosmos.base.v1beta1.Coin" is not defined.
query.proto:336:3: "cosmos.base.query.v1beta1.PageResponse" is not defined.
query.proto:347:3: "cosmos.base.query.v1beta1.PageRequest" is not defined.
query.proto:354:12: "SendEnabled" is not defined.
query.proto:357:3: "cosmos.base.query.v1beta1.PageResponse" is not defined.

I have installed the protoc version 3.21.12 and every imported path files are placed in the right place but still getting error. I have also tried different cosmos-sdk version but the problem still reaming same for me. My expectation is after running the command(protoc --go_out =. query.proto) in the path cosmos-sdk/proto/bank/v1beta1 it should run error freely


Solution

  • I encountered an issue related to the same question on the official Cosmos SDK GitHub repository. Two of the core engineers from the Cosmos SDK team advised me to use 'buf' instead of 'protoc' for resolving my error. I followed their advice and successfully resolved the issue.

    Here is the link:

    https://github.com/cosmos/cosmos-sdk/issues/16897  (closed)