1
0
mirror of https://github.com/schollz/croc.git synced 2024-12-11 06:35:01 +03:00
croc/vendor/github.com/mr-tron/base58
2018-06-25 11:59:56 -07:00
..
base58 re-vendor 2018-06-25 11:59:56 -07:00
example/cli re-vendor 2018-06-25 11:59:56 -07:00
.gitignore re-vendor 2018-06-25 11:59:56 -07:00
LICENSE re-vendor 2018-06-24 08:23:05 -06:00
main.go re-vendor 2018-06-25 11:59:56 -07:00
README.md re-vendor 2018-06-25 11:59:56 -07:00

base58 A Fast Implementation of Base58 encoding used in Bitcoin

GoDoc Go Report Card

Fast implementation of base58 encoding in Go (Golang).

Base algorithm is copied from https://github.com/trezor/trezor-crypto/blob/master/base58.c

To import library

	import (
		"github.com/mr-tron/base58/base58"
	)

Example


package main

import (
	"fmt"
	"os"

	"github.com/mr-tron/base58/base58"
)

func main() {

	exampleBase58Encoded := []string{
		"1QCaxc8hutpdZ62iKZsn1TCG3nh7uPZojq",
		"1DhRmSGnhPjUaVPAj48zgPV9e2oRhAQFUb",
		"17LN2oPYRYsXS9TdYdXCCDvF2FegshLDU2",
		"14h2bDLZSuvRFhUL45VjPHJcW667mmRAAn",
	}

	// If a base58 string is on the command line, then use that instead of the 4 exampels above.
	if len(os.Args) > 1 {
		exampleBase58Encoded = os.Args[1:]
	}

	for _, vv := range exampleBase58Encoded {
		num, err := base58.Decode(vv)
		if err != nil {
			fmt.Printf("Demo %d, got error %s\n", err)
			continue
		}
		chk := base58.Encode(num)
		if vv == string(chk) {
			fmt.Printf ( "Successfully decoded then re-encoded %s\n", vv )
		} else {
			fmt.Printf ( "Failed on %s\n", vv )
		}
	}
}