Practical overview
When it fits
Use Eos Go when developing a Go application or utility that needs EOS.IO RPC access, data handling or transaction workflows. Its examples cover common queries and transaction operations; the README cautions that the library has been in flux alongside the EOS.IO codebase.
Who it is for
- Go developers building applications that query EOS.IO chain information, accounts or producers.
- Developers implementing EOS.IO data encoding, decoding, transaction packing or signing.
- Developers exploring EOS.IO P2P communication through the repository’s command binaries.
Documented uses
- Request chain information, account details and producer data from an EOS.IO RPC server.
- Encode or decode EOS.IO data using binary packing and JSON interfaces.
- Pack, unpack or sign EOS.IO transactions, including signing through keosd.
- Work with EOS.IO P2P communication using the protocol supported by the library.
Requirements & limits
The public repository specifies the MIT license.
- The library can connect to local or remote EOS.IO RPC servers.
- The README describes the project as in flux and cautions that stability should not be expected.
- Some examples require configuration; a transfer example requires the necessary authorization and balance.
- Repository command binaries focus mainly on P2P communication, separate from the library’s RPC and data-structure functions.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Query EOS.IO chain and account information with eos-go
Use the library’s basic Go example to request chain and account information from an EOS.IO RPC server and print the responses as JSON.
Before you start
- A Go project that can import github.com/eoscanada/eos-go and github.com/streamingfast/cli.
- An accessible EOS.IO RPC endpoint; the documented example uses https://api.eosn.io.
Steps
Create an eos-go API client with eos.New and the RPC endpoint URL.
Create a context and call api.GetInfo(ctx), handling the returned error as in the example.
Call api.GetAccount(ctx, "eosio").
Marshal each response as indented JSON and print it, following the README’s toJson example.
Expected outcome
The example requests chain information and the eosio account, then prints both responses as JSON.
Guide limitations
- The README warns that the library was in flux and may not be stable as it tracks changes in the eosio codebase.
- The example ignores the error returned by GetAccount.
- The documented default endpoint may be overridden with EOS_GO_API_URL for examples.
Run the eos-go GetInfo example test to inspect its output
Run the documented GetInfo example test in a way that prints its output for inspection.
Before you start
- The eos-go repository and its Go test dependencies.
- The ExampleAPI_GetInfo example, updated with the documented // Output: any line at the end.
Steps
Add // Output: any at the end of the ExampleAPI_GetInfo example, as described in the README.
Run go test -run ExampleAPI_GetInfo.
Inspect the printed output; the README notes that the test is expected to fail because actual output will not match the placeholder any.
Expected outcome
The example executes and prints its actual output for inspection; the test is expected to fail against the placeholder output.
Guide limitations
- Some examples require configuration and will not succeed out of the box; the README gives token transfer authorization and balance as an example.
- The README notes that some tests render dates in the operating system timezone and documents TZ=UTC go test ./... for aligning timezone-sensitive tests.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- eoscanada/eos-go · Official homepage title · retained in its source language

