Documentation ¶
Overview ¶
Copyright (c) 2017 The btcsuite developers Copyright (c) 2020 The JaxNetwork developers Use of this source code is governed by an ISC license that can be found in the LICENSE file. nolint: gomnd
Package bech32 provides a Go implementation of the bech32 format specified in BIP 173.
Bech32 strings consist of a human-readable part (hrp), followed by the separator 1, then a checksummed data part encoded using the 32 characters "qpzry9x8gf2tvdw0s3jn54khce6mua7l".
More info: https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertBits ¶
ConvertBits converts a byte slice where each byte is encoding fromBits bits, to a byte slice where each byte is encoding toBits bits.
func Decode ¶
Decode decodes a bech32 encoded string, returning the human-readable part and the data part excluding the checksum.
Example ¶
This example demonstrates how to decode a bech32 encoded string.
package main import ( "encoding/hex" "fmt" "gitlab.com/jaxnet/jaxnetd/jaxutil/bech32" ) func main() { encoded := "bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx" hrp, decoded, err := bech32.Decode(encoded) if err != nil { fmt.Println("Error:", err) } // Show the decoded data. fmt.Println("Decoded human-readable part:", hrp) fmt.Println("Decoded Data:", hex.EncodeToString(decoded)) }
Output: Decoded human-readable part: bc Decoded Data: 010e140f070d1a001912060b0d081504140311021d030c1d03040f1814060e1e160e140f070d1a001912060b0d081504140311021d030c1d03040f1814060e1e16
func Encode ¶
Encode encodes a byte slice into a bech32 string with the human-readable part hrb. Note that the bytes must each encode 5 bits (base32). nolint: gocritic
Example ¶
This example demonstrates how to encode data into a bech32 string.
package main import ( "fmt" "gitlab.com/jaxnet/jaxnetd/jaxutil/bech32" ) func main() { data := []byte("Test data") // Convert test data to base32: conv, err := bech32.ConvertBits(data, 8, 5, true) if err != nil { fmt.Println("Error:", err) } encoded, err := bech32.Encode("customHrp!11111q", conv) if err != nil { fmt.Println("Error:", err) } // Show the encoded data. fmt.Println("Encoded Data:", encoded) }
Output: Encoded Data: customHrp!11111q123jhxapqv3shgcgumastr
Types ¶
This section is empty.