Flow Protocol Buffer Source Files
October 5, 2024 · View on GitHub
This folder contains the Protocol Buffer sources files that define the Flow Access gRPC API.
❓ What is the Access API?
Check out the Flow Access API specification.
Generating Go stubs
You can use buf to generate gRPC client stubs in a variety of languages.
Please make sure you have protoc-gen-go-grpc installed, for example using command
go install github.com/golang/protobuf/protoc-gen-go@v1.3.2
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
Running the command below (in the current directory) will generate stubs for Go:
make generate
Generating and publishing JVM stubs
JVM support is in the alpha stage; many steps require manual intervention.
./gradlew generateProto compiles Protobuf files into local Java classes.
Publishing with GitHub Actions
The "com.vanniktech.maven.publish" plugin is used to automate Maven releases for JVM protobuf generation. More information on the release process can be found here.
There are two GitHub Actions configured to run on the master branch:
- SNAPSHOT: On every commit to the
masterbranch a build is performed and if successful it is deployed as a snapshot version. - RELEASE: Whenever a tag is created with the pattern of
vXXXa version with the name XXX is built and if successful deployed as a release version.
The following GitHub repository secrets configure these actions:
FLOW_JVM_SDK_CICD_PUBLISH_ENABLED: (optional) Must betruefor the publishing of artifacts to happen (defaults tofalse)FLOW_JVM_SDK_SIGNING_KEY: (required if publish enabled) ascii armored version of the pgp key for signing releasesFLOW_JVM_SDK_SIGNING_PASSWORD: (required if publish enabled) password to the pgp keyFLOW_JVM_SDK_SONATYPE_USERNAME: (required if publish enabled) sonatype usernameFLOW_JVM_SDK_SONATYPE_PASSWORD: (required if publish enabled) sonatype password