/base58check

Go implementation of base58check to encode Bitcoin addresses

Primary LanguageGoMIT LicenseMIT

base58check

Build Status GoDoc Go Report Card

This package in Go provides functions to encode and decode in base58check, a specific base58 encoding format for encoding Bitcoin addresses.

Functions:

func Encode(string, string) (string, error) {} // takes the version and data as hexadecimal strings and returns the encoded string
func Decode(string) (string, error) {} // takes the encoded string and returns the decoded version prepended hexadecimal string

Installation

go get github.com/anaskhan96/base58check

Usage

package main

import (
	"fmt"
	"log"

	"github.com/anaskhan96/base58check"
)

func main() {
	encoded, err := base58check.Encode("80", "44D00F6EB2E5491CD7AB7E7185D81B67A23C4980F62B2ED0914D32B7EB1C5581")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(encoded) // 5JLbJxi9koHHvyFEAERHLYwG7VxYATnf8YdA9fiC6kXMghkYXpk

	decoded, err := base58check.Decode("1mayif3H2JDC62S4N3rLNtBNRAiUUP99k")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(decoded) // 00086eaa677895f92d4a6c5ef740c168932b5e3f44
}

References