RealPath:
WebPath:
2016/12/29 01:31 (JST) 更新
ウォレット >>

アカウントとアドレス

Contents

アカウントについて

Bitcoin ネットワーク上では基本的にアドレス(34文字の英数字)を用いてデータの送受信先を特定するが、ローカル内ではアドレスにアカウント名(人間が見て分かりやすい名前)を紐づけることができる。

デフォルトのアカウント名は空文字列。

アカウントという実体があるわけではないことに注意。アカウント名はあくまでも各アドレスに紐づくラベル値的なもの。

新規アドレスの作成: getnewaddress

アカウント名(自由に付けられる)に紐づく新規アドレスを作成する(常に新しいアドレスが生成される)

# bitcoin-cli getnewaddress koba1
mpLmFktcurdPshh36X538pMuPqjFRuiAbV

# bitcoin-cli getnewaddress koba2
n211f6vUot9n6kcE3zncREXctWkV5U74J1

# bitcoin-cli getnewaddress koba1
mx578G9qf4cwe1pabevdVafCRD71Nk4eDR

# bitcoin-cli getnewaddress ← このようにアカウント名を省略することも可能(空文字列のアカウント名となる)
mqY3LsBdaQ6catpJLvrpge254P2Xz9dHvY

BTC 受け取り用アドレスの作成: getaccountaddress

getnewaddress と同様にアカウント名(自由に付けられる)に紐づくアドレスを返す。getnewaddress が常に新しいアドレスを生成するのに対し、getaccountaddress は以下のような挙動をとる。

  • アカウントに紐づくアドレスが無い場合は新規アドレスを作成し、そのアドレス値を返す。
  • アカウントに紐づくアドレスが既にある場合は新規作成せずに既存アドレス値を返す。
  • 既存アドレスがある場合でもそれが使用済み(一度以上BTCを受け取った)の場合には新規アドレスを作成し、そのアドレス値を返す。

用途としては BTC 受け取り用アドレスを生成するためと思われる。実運用の観点からすると getnewaddress よりもこの getaccountaddress のほうが使い勝手が良さそう。

# bitcoin-cli getaccountaddress koba1
n1Yr6Xd2FeomeaiEw4qFdGeAoCeJrcRUMD ← 新規アドレスが作成される

# bitcoin-cli getaccountaddress koba1
n1Yr6Xd2FeomeaiEw4qFdGeAoCeJrcRUMD ← 既存アドレスが返される

# bitcoin-cli getaccountaddress koba1
n1Yr6Xd2FeomeaiEw4qFdGeAoCeJrcRUMD ← 既存アドレスが返される

# bitcoin-cli getaccountaddress koba2
mwc5v89Hy3VgsQaGjHJAwrdt8xSmiZS9My

# bitcoin-cli getaccountaddress hoge
n3yQeouwmEJ5bsfaJSSQqGj6MkbQunTpc4

# bitcoin-cli getaccountaddress "" ← このように空文字列のアカウント名を指定することも可能
n28CJKCEyJ9RAzb1MxMjreMuG9WytR3s63

アカウント一覧: listaccounts

listaccounts によりアカウント一覧を表示する。併せて表示される数値はアカウントの BTC 残高。

# bitcoin-cli listaccounts
{
  "": 0.00000000, ← これがデフォルトのアカウント
  "koba1": 0.00000000,
  "koba2": 0.00000000
}

アドレス一覧: listreceivedbyaddress

参考: https://chainquery.com/bitcoin-api/listreceivedbyaddress

listreceivedbyaddress により取得。

  • 第1引数 Confirmation : num (default = 1)… トランザクションの最低承認数
  • 第2引数 Include Empty : bool (default = false) … 一度もBTCを受け取っていないアドレスも表示するかどうか
  • 第3引数 Include Watch-Only : bool (default = false) … watchonlyなアドレスも表示するかどうか
# bitcoin-cli listreceivedbyaddress 1 true
[
  {
    "address": "mgLtZqH7Kk4SYEb9ejFyjzrUxYFrzduRAb",
    "account": "",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "",
    "txids": [
    ]
  },
  {
    "address": "mpLmFktcurdPshh36X538pMuPqjFRuiAbV",
    "account": "koba1",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "koba1",
    "txids": [
    ]
  },
  {
    "address": "mqY3LsBdaQ6catpJLvrpge254P2Xz9dHvY",
    "account": "",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "",
    "txids": [
    ]
  },
  {
    "address": "mwc5v89Hy3VgsQaGjHJAwrdt8xSmiZS9My",
    "account": "koba2",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "koba2",
    "txids": [
    ]
  },
  {
    "address": "mx578G9qf4cwe1pabevdVafCRD71Nk4eDR",
    "account": "koba1",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "koba1",
    "txids": [
    ]
  },
  {
    "address": "n1Yr6Xd2FeomeaiEw4qFdGeAoCeJrcRUMD",
    "account": "koba1",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "koba1",
    "txids": [
    ]
  },
  {
    "address": "n211f6vUot9n6kcE3zncREXctWkV5U74J1",
    "account": "koba2",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "koba2",
    "txids": [
    ]
  },
  {
    "address": "n3yQeouwmEJ5bsfaJSSQqGj6MkbQunTpc4",
    "account": "hoge",
    "amount": 0.00000000,
    "confirmations": 0,
    "label": "hoge",
    "txids": [
    ]
  }
]

アドレスに紐づくアカウント名の確認: getaccount

# bitcoin-cli getaccount mpLmFktcurdPshh36X538pMuPqjFRuiAbV
koba1

# bitcoin-cli getaccount n211f6vUot9n6kcE3zncREXctWkV5U74J1
koba2

# bitcoin-cli getaccount mqY3LsBdaQ6catpJLvrpge254P2Xz9dHvY
(何も表示されない)

アカウント名に紐づくアドレスの確認: getaddressesbyaccount

# bitcoin-cli getaddressesbyaccount koba1
[
  "mpLmFktcurdPshh36X538pMuPqjFRuiAbV",
  "mx578G9qf4cwe1pabevdVafCRD71Nk4eDR",
  "n1Yr6Xd2FeomeaiEw4qFdGeAoCeJrcRUMD"
]