Popularity
0.4
Stable
Activity
4.9
-
1
1
0

Description

Features: - Client is completely configurable - Customize the network per request (main, test or stn) - Using heimdall http client with exponential backoff & more - Current (V3) coverage for the MatterCloud API API

Programming language: Go
License: MIT License
Tags: Go Tools     Go     Golang     Bitcoin     Bsv     Bitindex     Mattercloud     Matter    
Latest version: v0.1.1

go-mattercloud alternatives and similar packages

Based on the "Go Tools" category

Do you think we are missing an alternative of go-mattercloud or a related project?

Add another 'Go Tools' Package

README

go-mattercloud

The unofficial Go implementation for the MatterCloud API

Go Build Status Report Release GoDoc

Table of Contents

Installation

go-mattercloud requires a supported release of Go. ```shell script go get -u github.com/mrz1836/go-mattercloud


## Documentation
You can view the generated [documentation here](https://pkg.go.dev/github.com/mrz1836/go-mattercloud).

You can also view the [MatterCloud API](https://developers.mattercloud.net/) documentation.

### Features
- [Client](client.go) is completely configurable
- Customize the network per request (`main`, `test` or `stn`)
- Using [heimdall http client](https://github.com/gojek/heimdall) with exponential backoff & more
- Current (V3) coverage for the [MatterCloud API](https://developers.mattercloud.net/) API
    - [x] Authentication
    - [x] Address
    - [x] Transaction

<details>
<summary><strong><code>Library Deployment</code></strong></summary>

[goreleaser](https://github.com/goreleaser/goreleaser) for easy binary or library deployment to Github and can be installed via: `brew install goreleaser`.

The [.goreleaser.yml](.goreleaser.yml) file is used to configure [goreleaser](https://github.com/goreleaser/goreleaser).

Use `make release-snap` to create a snapshot version of the release, and finally `make release` to ship to production.
</details>

<details>
<summary><strong><code>Makefile Commands</code></strong></summary>

View all `makefile` commands
```shell script
make help

List of all current commands:

all                            Runs lint, test-short and vet
bench                          Run all benchmarks in the Go application
clean                          Remove previous builds and any test cache data
clean-mods                     Remove all the Go mod cache
coverage                       Shows the test coverage
godocs                         Sync the latest tag with GoDocs
help                           Show all make commands available
lint                           Run the Go lint application
release                        Full production release (creates release in Github)
release-test                   Full production test release (everything except deploy)
release-snap                   Test the full release (build binaries)
tag                            Generate a new tag and push (IE: tag version=0.0.0)
tag-remove                     Remove a tag if found (IE: tag-remove version=0.0.0)
tag-update                     Update an existing tag to current commit (IE: tag-update version=0.0.0)
test                           Runs vet, lint and ALL tests
test-short                     Runs vet, lint and tests (excludes integration tests)
update                         Update all project dependencies
update-releaser                Update the goreleaser application
vet                            Run the Go vet application

Examples & Tests

All unit tests and [examples](mattercloud_test.go) run via Travis CI and uses Go version 1.14.x. View the [deployment configuration file](.travis.yml).

Run all tests (including integration tests) ```shell script make test


Run tests (excluding integration tests)
```shell script
make test-short

Benchmarks

Run the Go [benchmarks](mattercloud_test.go): ```shell script make bench


## Code Standards
Read more about this Go project's [code standards](CODE_STANDARDS.md).

## Usage
- View the [mattercloud examples](#examples--tests) above

Basic implementation:
```go
package main

import (
    "log"

    "github.com/mrz1836/go-mattercloud"
)

func main() {

    // Create a new client
    client, _ := mattercloud.NewClient("your-secret-api-key", mattercloud.NetworkMain, nil)

    // Get balance for an address
    balance, _ := client.AddressBalance("16ZqP5Tb22KJuvSAbjNkoiZs13mmRmexZA")

    // What's the confirmed balance?
    log.Println("confirmed balance:", balance.Confirmed)
}

Maintainers

MrZ

Contributing

View the [contributing guidelines](CONTRIBUTING.md) and follow the [code of conduct](CODE_OF_CONDUCT.md).

Support the development of this project ๐Ÿ™

Donate

Credits

@Attila & MatterCloud for their hard work on the MatterCloud API

Looking for a Javascript version? Check out the MatterCloud JS SDK

License

License


*Note that all licence references and agreements mentioned in the go-mattercloud README section above are relevant to that project's source code only.