Awesome
aepp-sdk-go
golang sdk for aeternity blockchain
Setup
go get github.com/aeternity/aepp-sdk-go/v9
If your project uses Go Modules (go.mod, go.sum files), you must include the major version in the import line like this:
import github.com/aepp-sdk-go/v9/aeternity
If your project won't use Go Modules (no go.mod, go.sum files), ensure your $GOPATH/src/github.com/aeternity/aepp-sdk-go
is on the correct branch. Then your import should be:
import github.com/aepp-sdk-go/aeternity
Contextual Knowledge
Every transaction submitted to a node needs a nonce (to ensure its uniqueness), a TTL (how long, in blocks, should the transaction stay in the mempool). Signing a transaction includes the NetworkID
as well, so a transaction meant for ae_uat
(testnet) won't make it onto ae_mainnet
(mainnet). The SDK communicates with the node and/or Sophia compiler over a HTTP REST API to find the current account nonce/current height/broadcast the transaction etc.
In short, creating a transaction always follows this pattern:
- Find the account nonce, get the transaction TTL (in blocks)
- Make the transaction
- Sign the transaction with a given network ID
- Broadcast it to a node of your choosing
Where to find examples
All examples are in godoc.org, except the integration tests.
General workflow code examples are in package aeternity
, or check out the integration tests in package integration_test
Account, HD wallet management in package account
etc.