環境
bitcoind v0.16.99.0-87a9d03c0
困った
bitcoin core rpcでgetnewaddressすると
$ bitcoin-cli -regtest getnewaddress
2N1Xx8taTNrm2RLxdeHMHT5fqgPJ219FWti
のように2で始まるアドレス、すなわち(テストネットの)p2SHのアドレスを教えてくれる1。
でも、m,nではじまるP2PKHアドレスがほしい...。
どうして?
0.16からsegwitアドレスがデフォルトに2。
Bitcoin Core 0.16.0 introduces full support for segwit in the wallet and user interfaces. A new -addresstype argument has been added, which supports legacy, p2sh-segwit (default), and bech32 addresses.
segwitアドレスを取得するaddwitnessaddressというコマンドがあったらしいが、それが廃止になり、getnewaddressの引数でアドレスタイプを指定できるようになった3。
wallet RPC addwitnessaddress was deprecated and will be removed in version 0.17, set the address_type argument of getnewaddress, or option -addresstype=[bech32|p2sh-segwit] instead.
どうする?
getnewaddressの引数はlabelとaddress_type。
address_typeに'legacy'を指定することで、P2PKHアドレスを得ることができる4。
$ bitcoin-cli getnewaddress "" "legacy"
moNuxPWGrK96NQwHugF6NcYpoXJrXMouz8