• This repository has been archived on 07/Jun/2022
  • Stars
    star
    4
  • Rank 3,304,323 (Top 66 %)
  • Language
    Go
  • License
    MIT License
  • Created about 5 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

💽 Unofficial golang implementation for the BitIndex API

go-bitindex

The unofficial Go implementation for the BitIndex API


Release Build Status Report Go Sponsor Donate


Table of Contents


Installation

go-bitindex requires a supported release of Go.

go get -u github.com/mrz1836/go-bitindex

Documentation

View the generated documentation

GoDoc

You can also view the BitIndex api documentation.

Features

  • Supports >= V3 API requests
  • 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 BitIndex API
    • Address
    • Block
    • Chain Info
    • Transaction
    • Webhooks
    • Xpub
Library Deployment

goreleaser for easy binary or library deployment to Github and can be installed via: brew install goreleaser.

The .goreleaser.yml file is used to configure goreleaser.

Use make release-snap to create a snapshot version of the release, and finally make release to ship to production.

Makefile Commands

View all makefile commands

make help

List of all current commands:

all                  Runs lint, test-short and vet
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 this help message
install              Install the application
install-go           Install the application (Using Native Go)
lint                 Run the golangci-lint application (install if not found)
release              Full production release (creates release in Github)
release              Runs common.release then runs godocs
release-snap         Test the full release (build binaries)
release-test         Full production test release (everything except deploy)
replace-version      Replaces the version in HTML/JS (pre-deploy)
run-examples         Runs all the examples
tag                  Generate a new tag and push (tag version=0.0.0)
tag-remove           Remove a tag if found (tag-remove version=0.0.0)
tag-update           Update an existing tag to current commit (tag-update version=0.0.0)
test                 Runs vet, lint and ALL tests
test-ci              Runs all tests via CI (exports coverage)
test-ci-no-race      Runs all tests via CI (no race) (exports coverage)
test-ci-short        Runs unit tests via CI (exports coverage)
test-short           Runs vet, lint and tests (excludes integration tests)
uninstall            Uninstall the application (and remove files)
update-linter        Update the golangci-lint package (macOS only)
vet                  Run the Go vet application

Examples & Tests

All unit tests and examples run via Github Actions and uses Go version 1.15.x. View the configuration file.

Examples & Tests by API section:

Run all tests (including integration tests)

make test

Run tests (excluding integration tests)

make test-short

Benchmarks

Run the Go benchmarks:

make bench

Code Standards

Read more about this Go project's code standards.


Usage

View the bitindex examples above

Basic implementation:

package main

import (
	"log"

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

func main() {

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

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

	// What's the balance?
	log.Println("address balance:", info.Balance)
}

Maintainers

MrZ
MrZ

Contributing

View the contributing guidelines and follow the code of conduct.

How can I help?

All kinds of contributions are welcome 🙌! The most basic way to show your support is to star 🌟 the project, or to raise issues 💬. You can also support this project by becoming a sponsor on GitHub 👏 or by making a bitcoin donation to ensure this journey continues indefinitely! 🚀

Credits

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

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

Looking for MatterCloud? Checkout the go-mattercloud package.


License

License

More Repositories

1

paymail-inspector

💸 CLI app for interacting with paymail service providers
Go
47
star
2

go-mail

📨 Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)
Go
42
star
3

go-sanitize

🛁 Golang library of simple to use sanitation functions
Go
32
star
4

docker-bitcoinsv

⚓ Launch a Bitcoin SV node using docker
Makefile
19
star
5

go-whatsonchain

🔗 Unofficial golang implementation for the WhatsOnChain API
Go
14
star
6

go-template

📋 Robust starter template for a new Go library
Makefile
12
star
7

go-api

🚀 Example api for inspiration on your new projects
Go
9
star
8

go-preev

🔗 Unofficial golang implementation for the Preev API
Go
7
star
9

go-pipl

👨‍👩‍👦 Unofficial golang implementation for the pipl.com search API
Go
5
star
10

go-polynym

🎭 Unofficial golang implementation for the Polynym.io API
Go
5
star
11

go-meta-extractor

🔍 Extract title, description, OG & meta tags from HTML
Go
4
star
12

go-download

💾 Utility to download multiple remote files from a JSON configuration
Go
4
star
13

go-api-router

🌐 A lightweight API middleware for Julien Schmidt's router: cors, logging, and standardized error handling
Go
4
star
14

go-mattercloud

☁️ Unofficial Go implementation for the MatterCloud API
Go
3
star
15

go-cache

📑 Cache dependency management on-top of the famous redigo package
Go
3
star
16

go-nownodes

🔗 Unofficial golang implementation for the NOWNodes API
Go
2
star
17

go-countries

🌐 Complete go-ready list of countries in all standardized formats
Go
2
star
18

go-cachestore

📑 Simple cache access & storage layer using Redis or FreeCache
Go
2
star
19

go-logger

🔍 Easy to use, extendable and super fast logging package for Go
Go
2
star
20

mrz1836

🎥 MrZ's Profile
Makefile
2
star
21

go-datastore

💾 Data layer using GORM for accessing models via a Database
Go
2
star
22

go-drift

🎈 Unofficial golang implementation for the Drift API
Go
1
star
23

homebrew-paymail-inspector

💸 Homebrew tap for installing paymail-inspector cli application
Ruby
1
star
24

go-api-gateway

✴️ Example using AWS API Gateway, Lambda and Go
Makefile
1
star
25

codepipeline-to-github

:octocat: Update a GitHub commit status via CodePipeline events
Go
1
star