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