Skip to main content
This page lists the public surface of github.com/LumeraProtocol/sdk-go as documented in the repo. For generated API docs see pkg.go.dev. For a guided start see the Go SDK page.

Client factory

Config fields

Options include lumerasdk.WithLogger(*zap.Logger). The keyring argument is a standard Cosmos SDK keyring.Keyring.

Factory for multiple signers

NewFactory shares one configuration and one set of transports. WithSigner returns a per account client. Close each client when done.

Blockchain surface

client.Blockchain wraps the Lumera gRPC API with per module clients. Action states are PENDING, PROCESSING, DONE, and FAILED. Approved cross-chain actions can also reach APPROVED after MsgApproveAction.

Cascade surface

client.Cascade wraps the SuperNode SDK for file operations. Upload options for interchain flows include cascade.WithICACreatorAddress, cascade.WithAppPubkey, and cascade.WithICASendFunc. Download accepts cascade.WithDownloadSignerAddress to sign with a controller chain key.

Standalone Cascade client

For interchain account flows you can build the Cascade client directly with owner settings.

ICA helpers

The ica package assembles ICS-27 packets and decodes acknowledgements. The interchain accounts concept page walks through the full flow these helpers support.

Crypto helpers

The pkg/crypto package covers keyring setup and signing. One keyring can hold both key types under different names. The ICA controller config accepts a separate HostKeyName when the controller and host chains use different key types.

Examples in the repo

The examples directory has runnable samples for cascade upload and download, action queries, multi account factories, EVM balance reads, Ethereum format transfers, ERC20 conversion, precompile calls, and ICA request and approve flows.

Next steps

Go SDK getting started

Install the SDK and run your first upload.

Smart contracts

What the EVM examples build on.