example_test.go raw
1 // Copyright (c) 2017 The btcsuite developers
2 // Use of this source code is governed by an ISC
3 // license that can be found in the LICENSE file.
4
5 package bech32
6
7 import (
8 "encoding/hex"
9 "fmt"
10 )
11
12 // This example demonstrates how to decode a bech32 encoded string.
13 func ExampleDecode() {
14 encoded := "bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx"
15 hrp, decoded, err := Decode([]byte(encoded))
16 if err != nil {
17 fmt.Println("Error:", err)
18 }
19 // Show the decoded data.
20 fmt.Printf("Decoded human-readable part: %s\n", hrp)
21 fmt.Println("Decoded Data:", hex.EncodeToString(decoded))
22 // Output:
23 // Decoded human-readable part: bc
24 // Decoded Data: 010e140f070d1a001912060b0d081504140311021d030c1d03040f1814060e1e160e140f070d1a001912060b0d081504140311021d030c1d03040f1814060e1e16
25 }
26
27 // This example demonstrates how to encode data into a bech32 string.
28 func ExampleEncode() {
29 data := []byte("Test data")
30 // Convert test data to base32:
31 conv, err := ConvertBits(data, 8, 5, true)
32 if err != nil {
33 fmt.Println("Error:", err)
34 }
35 encoded, err := Encode([]byte("customHrp!11111q"), conv)
36 if err != nil {
37 fmt.Println("Error:", err)
38 }
39 // Show the encoded data.
40 fmt.Printf("Encoded Data: %s", encoded)
41 // Output:
42 // Encoded Data: customhrp!11111q123jhxapqv3shgcgkxpuhe
43 }
44