github.com/algorand/go-algorand-sdk@v1.24.0/README.md (about)

     1  # go-algorand-sdk
     2  
     3  [![Build Status](https://travis-ci.com/algorand/go-algorand-sdk.svg?branch=master)](https://travis-ci.com/algorand/go-algorand-sdk)
     4  [![Go Report Card](https://goreportcard.com/badge/github.com/algorand/go-algorand-sdk)](https://goreportcard.com/report/github.com/algorand/go-algorand-sdk)
     5  [![GoDoc](https://godoc.org/github.com/algorand/go-algorand-sdk?status.svg)](https://godoc.org/github.com/algorand/go-algorand-sdk)
     6  
     7  The Algorand golang SDK provides:
     8  
     9  - HTTP clients for the algod (agreement) and kmd (key management) APIs
    10  - Standalone functionality for interacting with the Algorand protocol, including transaction signing, message encoding, etc.
    11  
    12  # Documentation
    13  
    14  Full documentation is available [on godoc](https://godoc.org/github.com/algorand/go-algorand-sdk). You can also self-host the documentation by running `godoc -http=:8099` and visiting `http://localhost:8099/pkg/github.com/algorand/go-algorand-sdk` in your web browser.
    15  
    16  Additional developer documentation and examples can be found on [developer.algorand.org](https://developer.algorand.org/docs/sdks/go/)
    17  
    18  # Package overview
    19  
    20  In `client/`, the `kmd` packages provide HTTP clients for the Key Management Daemon. It is responsible for managing spending key material, signing transactions, and managing wallets.
    21  In `client/v2` the `algod` package contains a client for the Algorand protocol daemon HTTP API. You can use it to check the status of the blockchain, read a block, look at transactions, or submit a signed transaction.
    22  In `client/v2` the `indexer` package contains a client for the Algorand Indexer API. You can use it to query historical transactions or make queries about the current state of the chain. 
    23  
    24  `future` package contains Transaction building utility functions.
    25  
    26  `types` contains the data structures you'll use when interacting with the network, including addresses, transactions, multisig signatures, etc. 
    27  
    28  `encoding` contains the `json` and `msgpack` packages, which can be used to serialize messages for the algod/kmd APIs and the network.
    29  
    30  `mnemonic` contains support for turning 32-byte keys into checksummed, human-readable mnemonics (and going from mnemonics back to keys).
    31  
    32  # SDK Development
    33  
    34  Run tests with `make docker-test`. To set up the sandbox-based test harness without standing up the go-algorand docker image use `make harness`.
    35  
    36  # Quick Start
    37  
    38  To download the SDK, open a terminal and use the `go get` command.
    39  
    40  ```command
    41  go get -u github.com/algorand/go-algorand-sdk/...
    42  ```