Golang Agent: Toolbox to interact with the IC

Go Agent for the Internet Computer

Hello everyone! :wave:t3: I’m excited to (re)introduce you to the revamped Go Agent for the Internet Computer. This is a library that allows you to communicate with the Internet Computer directly. It’s designed for developers who are looking to build applications interacting with canisters on the Internet Computer using Go.

Features

  • Go Native Types with marshalling from and to Candid/JSON.
  • Identities: Both Ed25519 and Secp256k1.
  • Autogeneration of Clients.

How to install

You can install the Go Agent using the following command:

go get github.com/aviate-labs/agent-go

Usage Example

You can find a new example walkthrough here :point_down:t3:

Documentation

You can find the documentation for each package in the links provided in the packages section.
Examples can be found throughout the documentation, which can also be found here.

Future Plans

We plan to continue improving the Go Agent by adding more features and making it more robust.

We are using the agent internally, but we do not come into contact with all the features of the Internet Computer, so we welcome any feedback or suggestions from the community! You can either respond to this thread or open an issue on the repository.

21 Likes

A quick update, support for Response Verification V2 is almost finished :beers:

What’s next:

If there are other features you are looking forward to, make sure to reach out! :loudspeaker:

5 Likes

Awesome @quint ! :champagne: Congratulations!

1 Like

We’re really happy to hear that you’re going to implement IC WebSockets into the Golang Agent!
Reach us out if you need any help!

2 Likes

In light of the recent release of PocketIC server 4.0.0, I’m delighted to share that we have developed a Golang Client specifically tailored for compatibility with version 4 and beyond. This agent streamlines the integration of Golang-based test suites and tools with PocketIC instances, enabling a seamless experience for developers.

4 Likes