ここにあるbech32エンコーダを試そうとしてるんだけど、鍵となるバイナリ列に直接bech32_encode()を適用するとエラーになることがあるのに、segwit_addr_encode()は問題ないということが分かっていて、それでまあ
Nostrのnsec/npubアドレスなエンコーディングって segwit_addr_encode(out, "nsec", 0, key, sizeof(key) … witness=0に限定していない気がするんだけど、どうなってるんだろうこれ。な疑問を抱いた訳なんだけど…もしかしてbech32_encode()呼ぶ前になんか下処理が要るってことなんだろうかね(実際、segwit_addr_encode()は内部でconvert_bits()呼んでるからこれがキモなんだろうけど…何故かstatic intで隠蔽されてたりする)
