onflow / onflow/flow-cli

Allow custom message limits in flowkit client

Open
#1,127 6 comments 0 reactions 1 assignee View on GitHub

@devbugging is already working on this.

Since Jul 17, 2023.

Feature Feedback
Dominant language
Go
Stars
209
Forks
87
Avg merge
1d 17h
Merged PRs (30d)
3

Description

Issue To Be Solved

Currently, the flowkit client uses a hardcoded max message size:
https://github.com/onflow/flow-cli/blob/6aa41a27add2d95066fc96072cc33c498f515deb/flowkit/gateway/grpc.go#L39

However, Access nodes can configure custom node specific limits to handle cases where data sizes exceed the default. This has come up several times in the last few months as data sizes have increased. Public ANs currently use a limit of 60MB.

(Optional): Suggest A Solution

We should make this limit configurable. A few potential backwards compatible solutions:

  1. Add a new constructor NewCustomGrpcGateway which supports passing in a client and the other fields. This could allow callers to build their own SDK client with the grpc settings they want, as well as pass their own context.
  2. Add optional Option callbacks to allow customizing the grpc client options. This would be less flexible and require some more complex logic in the library to properly manage and pass the options into the SDK instantiation.
  3. Add an optional Option callback to allow specifying just the max message size. This would be simple to implement and add minimal changes to the code, but provides the least flexibility. However, it would solve the immediate problem in a simple way.
(Optional): Context

This limit is too low for GetTransactionResultByBlockID for some recent blocks, resulting the ResourceExhausted errors.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.