The unofficial Go implementation for the BitIndex API
- Installation
- Documentation
- Examples & Tests
- Benchmarks
- Code Standards
- Usage
- Maintainers
- Contributing
- License
go-bitindex requires a supported release of Go.
go get -u github.com/mrz1836/go-bitindex
View the generated documentation
You can also view the BitIndex api documentation.
- Supports >= V3 API requests
- Client is completely configurable
- Customize the network per request (
main
,test
orstn
) - 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
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
Run the Go benchmarks:
make bench
Read more about this Go project's code standards.
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)
}
MrZ |
View the contributing guidelines and follow the code of conduct.
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! 🚀
@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.