Documentation ¶
Overview ¶
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 ¶
- func Check(err error) bool
- func ConvertBits(data []byte, fromBits, toBits uint8, pad bool) ([]byte, error)
- func Debug(a ...interface{})
- func Debugc(fn func() string)
- func Debugf(format string, a ...interface{})
- func Debugs(a interface{})
- func Decode(bech string) (string, []byte, error)
- func Encode(hrp string, data []byte) (string, error)
- func Error(a ...interface{})
- func Errorc(fn func() string)
- func Errorf(format string, a ...interface{})
- func Errors(a interface{})
- func Fatal(a ...interface{})
- func Fatalc(fn func() string)
- func Fatalf(format string, a ...interface{})
- func Fatals(a interface{})
- func Info(a ...interface{})
- func Infoc(fn func() string)
- func Infof(format string, a ...interface{})
- func Infos(a interface{})
- func Trace(a ...interface{})
- func Tracec(fn func() string)
- func Tracef(format string, a ...interface{})
- func Traces(a interface{})
- func Warn(a ...interface{})
- func Warnc(fn func() string)
- func Warnf(format string, a ...interface{})
- func Warns(a interface{})
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" "github.com/l0k18/pod/pkg/coding/bech32" ) func main() { encoded := "bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx" hrp, decoded, err := bech32.Decode(encoded) if err != nil { bech32.Error("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).
Example ¶
This example demonstrates how to encode data into a bech32 string.
package main import ( "fmt" "github.com/l0k18/pod/pkg/coding/bech32" ) func main() { data := []byte("Test data") // Convert test data to base32: conv, err := bech32.ConvertBits(data, 8, 5, true) if err != nil { bech32.Error("Error:", err) } encoded, err := bech32.Encode("customHrp!11111q", conv) if err != nil { bech32.Error("Error:", err) } // Show the encoded data. fmt.Println("Encoded Data:", encoded) }
Output: Encoded Data: customHrp!11111q123jhxapqv3shgcgumastr
Types ¶
This section is empty.