My goal is replicate the same P2WSH of https://en.bitcoin.it/wiki/BIP_0173
tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7
I'm able to generate the "first" part before checksum. There are my binary
00000 00011 00001 10001 10001 01000 01111 00000 10100 11000 10100 01011 00110 10000 00001 00101 11101 00011 00100 10000 00011 00110 10101 10110 11010 00010 01101 10110 01001 10000 10101 10011 11000 11001 10101 00110 10010 01111 01000 01101 11000 11000 11000 11001 01001 01100 00001 00100 10000 00110 01001 10001
And Their values in base10
0, 3, 1, 17, 17, 8, 15, 0, 20, 24, 20, 11, 6, 16, 1, 5, 29, 3, 4, 16, 3, 6, 21, 22, 26, 2, 13, 22, 9, 16, 21, 19, 24, 25, 21, 6, 18, 15, 8, 13, 24, 24, 24, 25, 9, 12, 1, 4, 16, 6, 9, 17
After that I use Python function
python -c "import bech32; print bech32.bech32_create_checksum('tb', [0, 3, 1, 17, 17, 8, 15, 0, 20, 24, 20, 11, 6, 16, 1, 5, 29, 3, 4, 16, 3, 6, 21, 22, 26, 2, 13, 22, 9, 16, 21, 19, 24, 25, 21, 6, 18, 15, 8, 13, 24, 24, 24, 25, 9, 12, 1, 4, 16, 6, 9, 17] )"
And I get that result:
[3, 1, 3, 10, 2, 25]
After that I can map on charset ("qpzry9x8gf2tvdw0s3jn54khce6mua7l")
The final result is: My address is:
tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3rpr2ze
the address of https://en.bitcoin.it/wiki/BIP_0173
tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7
As you can see the problem is only the checksum, the first part tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3
is the same.