読者です 読者をやめる 読者になる 読者になる

Develop with pleasure!

福岡でCloudとかBlockchainとか。

Bitcoin Core v0.10.0のAPIリスト

Bitcoin Core(v 0.10.0)が提供するAPIをリストアップ。

引数や使い方の詳細は、Developer Reference - Bitcoin参照。

  • addmultisigaddress
    P2SHのマルチシグネチャアドレスをウォレットに追加する。
  • addnode
    ノードリストへのノードの追加、削除及び、ノードへの接続確認を行う。どの操作をするかは引数で与えられる。
  • backupwallet
    wallet.datファイルを指定したファイル名でコピーする。
  • creatingmultisig
    P2SHのマルチシグネチャアドレスを作成する。
  • createrawtransaction
    前のトランザクションから新しいアドレスに対して支払いを行う際のトランザクションを生成する。生成されたトランザクションはウォレットにも保存されないし、ネットワークにも送信されることはない。
  • decoderawtransaction
    トランザクションデータをデコードし、JSON形式にする。
  • decodescript
    hexエンコードされたP2SHのredeem scriptをデコードする。
  • dumpprivkey
    P2PKHアドレスに対応するWIP(Wallet Import Format)形式の秘密鍵を取得する。
    (ウォレットからその秘密鍵が削除される訳ではない)
  • dumpwallet
    全てのウォレットのキーを人間が読める形式でファイルに出力する。
  • encryptwallet
    パスフレーズを使ってウォレットを暗号化する。暗号化が有効になると、秘密鍵を使用するのにパスフレーズを入力する必要がある。
  • estimatefee
    一定のブロック数内に含まれるトランザクションに対して支払う必要がある1KBあたりの手数料を推定する。
  • estimatepriority
    一定のブロック数内に無料の優先度高めのトランザクションとして含めるための優先度を推定する。トランザクションの優先度はトランザクションのバイトサイズに関連する。
  • generate
    regtest modeのみで利用可能なRPCで、瞬時に指定した数のブロックを生成する。
  • getaccountaddress
    指定したアカウントへの支払いを受け取るためのBitcoinアドレスを取得する。指定したアカウントが存在しない場合は支払いを受け取るためのアカウントとアドレスを両方作成する。そのアドレスで一度でも支払いを受け取ると、その後同じアカウントを指定してこのRPCをコールしても異なるアドレスを返すようになる。アカウントの指定をしない場合(""と指定した場合)デフォルトアカウントとなる。
  • getaccount
    指定した(P2PKHもしくはP2SHの)Bitcoinアドレスに関連付けられているアカウント名を取得する。
  • getaddednodeinfo
    全てのノードもしくは指定されたノードの情報を取得する。手動で追加したノードのみを確認したい場合は、addnode APIを使用する。
  • getaddressesbyaccount
    指定したアカウントに関連付けられたアドレスのリストを取得する。デフォルトアカウントを指定したい場合は空文字""を指定。
  • getbalance
    全てのアカウントもしくは指定したアカウントのBitcoinの残高を取得する。
  • getbestblockhash
    一番長いブロックチェーンの最新ブロックのブロックヘッダのハッシュを取得する。
  • getblock
    ローカルのブロックデータベースから指定したヘッダハッシュのブロック情報を取得する。第二引数にtrueを指定するとJSON形式で取得できる。
  • getblockchaininfo
    ブロックチェーンの現在の状態をJSON形式で表示する。
  • getblockcount
    ローカルの一番長いブロックチェーンのブロック数を取得する。
  • getblockhash
    ローカルの一番長いブロックチェーンから指定した位置(genesis blockの場合は0)のブロックのヘッダハッシュを取得する。
  • getblocktemplate
    マイニングソフトウェアで使用するためのブロックテンプレートやプロポーザルを取得する。詳細については下記リンク参照。

getblocktemplate - Bitcoin Wiki
bips/bip-0022.mediawiki at master · bitcoin/bips · GitHub
bips/bip-0023.mediawiki at master · bitcoin/bips · GitHub

  • getchaintips
    ローカルの各ブロックチェーンの一番長いブロックの最新情報を取得する。戻り値のstatusを見るとそれぞれのブロックチェーンの最新ブロックの状態が確認できる。
  • getconnectioncount
    他のノードとのコネクション数を取得する。
  • getdiffculty
    現在のdifficulty(Bitcoinの採掘難易度)を取得する。
  • getgenerate
    ノードがブロックを生成中か確認する(マイニング中かどうか)。生成中の場合はtrueを返す。
  • gethashespersec
    (このRPCは、削除予定)ノードがブロックを生成する際のパフォーマンスを測定する。生成処理が行われているコンピュータの直近の1秒あたりのハッシュ数が取得できる。生成が無効になっている場合は0を返す。
  • getinfo
    ノードとネットワークに関する情報を取得する。(このRPCは削除予定なので、代わりにgetblockchaininfo,getmempoolinfo,getmininginfo,getnetworkinfo,getwalletinfoを使用すること)
  • getmempoolinfo
    ノードの現在のトランザクションメモリプール(メモリプール内のトランザクション数、トランザクションの総バイト数)を取得する。
  • getmininginfo
    マイニングに関する情報を取得する。
  • getnettotals
    ネットワークトラフィックの情報(INとOUTのバイト数)を取得する。
  • getnetworkhashps
    指定した直近のnブロックから、ネットワークハッシュの生成速度を取得する。
  • getnetworkinfo
    ネットワークへのノードの接続情報を取得する。
  • getnewaddress
    支払いを受けるために必要なBitcoinアドレスを取得する。アカウント名を指定すると、そのアドレスで支払いを受け取った際に指定したアカウントに入金される。アカウントを指定しない場合はデフォルトアカウントに紐づくアドレスとなる。
  • getpeerinfo
    接続中のネットワークノードに関するデータを取得する。
  • getrawchangeaddress
    変更を受け取るための新しいBitcoinアドレスを取得する。取得したP2PKHのアドレスは新しいトランザクションで使用するもので通常は利用しない。
  • getrawmempool
    メモリプール内の全てのトランザクションのTXIDと、詳細情報をJSON形式で取得する。
  • getrawtransaction
    TXIDを指定してトランザクションデータを取得する。デフォルトでBitcoin Coreは完全なトランザクションデータしか保存しないため、Bitcoin Coreの起動オプションでtxindex=1を指定してないと、トランザクションの履歴を取得する際にこのRPCコールは失敗する。
  • getreceivedbyaccount
    指定したアカウントのアドレスが受け取ったBitcoinの総量を取得する。またこの際、ブロックチェーン上のトランザクションの確認回数を指定した場合その回数確認がとれたトランザクションのみがカウント対象となる。(coinbase transactionはカウントされない。)
  • getreceivedbyaddress
    指定したアドレスが受け取ったBitcoinの総量を取得する。またこの際、ブロックチェーン上のトランザクションの確認回数を指定した場合その回数確認がとれたトランザクションのみがカウント対象となる。(coinbase transactionはカウントされない。)
  • gettransaction
    TXIDを指定してウォレット内のトランザクションの詳細情報を取得する。
  • gettxout
    TXIDを指定し、未使用な(UTXO)トランザクション出力の詳細情報をを取得する。
  • gettxoutsetinfo
    未使用のトランザクション(UTXO)の統計情報を取得する。このAPIコールは時間がかかることもあり、確認されたトランザクションのアウトプットからカウントされる=メモリプール内のアウトプットからはカウントされない。
  • getunconfirmedbalance
    ウォレット内でまだ確認のとれていない残高のBitcoinの総量を取得する。
  • getwalletinfo
    ウォレットに関する情報を取得する。
  • getwork
    このAPIBitcoin Core 0.10.0から削除済み。もし古いBitcoin Coreを使ってる場合、使い方はhelp getworkで確認可能。
  • help
    有効なRPCコマンドをリストアップする。またRPCコマンドを指定してコマンドのヘルプを表示する。
  • importaddress
    アドレスもしくは公開鍵のスクリプト秘密鍵と関連付けずにウォレットに追加する。これにより追加したアドレスもしくは公開鍵スクリプトに影響するトランザクションを監視することが可能になる。
  • importprivkey
    ウォレットに秘密鍵を追加する。追加する鍵は、dumpprivkeyコマンドで作成されるWIP(wallet import format)形式である必要がある。
  • importwallet
    wallet dump fileフォーマット(dumpwalletコマンドで生成するファイル)のファイルから秘密鍵をインポートする。インポートした秘密鍵は現在のウォレットの鍵に追加される。このコマンドを実行すると、新しく追加した鍵に影響を与える取引のため、ブロックチェーンの全再スキャンもしくは一部の再スキャンを行う必要がある。
  • keypoolrefill
    keypool内の未使用の事前生成鍵のキャッシュで満たす。keypoolsizeを指定して実行すると、指定したサイズが現在のkeypoolのサイズより大きい場合、不足分の鍵が新たに生成される。
  • listaccounts
    アカウントをリストアップし、それぞれの残高を表示する。
  • listaddressgroupingsアドレスのグループをリストアップする。このグループというのは、同じトランザクション内で入力として利用したり前のトランザクションからの変更として使われた共通の所有権をもっていたかもしれないアドレスをグルーピングしたもの。
  • listlockunspent
    一時的に使用することができない出力のリストを取得する。
  • listreceivedbyaccount
    各アカウント毎に受け取ったBitcoinの総量をリストアップする。
  • listreceivedbyaddress
    各アドレス毎に受け取ったBitcoinの総量をリストアップする。
  • listsinceblock
    特定のブロック以降でウォレットに影響を与えた全トランザクションを取得する。
  • listtransactions
    指定したアカウントのウォレットに影響を与えた直近のトランザクションをリストアップする。
  • listunspent
    ウォレットに紐づく未使用のトランザクション出力を取得する。importaddressで監視専用に追加したアドレスも含まれるが、監視専用アドレスの場合戻り値のspendableがfalseになる。
  • lockunspent
    指定したトランザクションの出力を一時的にロックもしくはアンロックする。ロック中のトランザクション出力はBitcoinを消費する際にコインとして選択されない。またロック状態はメモリ上に保存されるため、ノードを起動した直後はロックされている出力は存在しないし、ノードが停止したり失敗した場合ロックは解除される。
  • move
    指定したアカウントから指定したアカウントへ指定した量のbitcoinをオフブロックチェーントランザクションを使用して移動する。※オフブロックチェーンというのはBitcoinのネットワーク外の取引になる。注意:この移動では、アカウントが所有しているBitcoinより多い量のBitcoinの移動が可能で、送信アカウントの残高がマイナスとなり、受信アカウントにウォレット内のBitcoinを上回る数の残高を与える可能性がある。
  • ping
    接続中の全てのノードに対してP2PPingメッセージを送信しPingの時間を計測する。結果はgetpeerinfoコマンドで確認できる。P2P pingメッセージは他のコマンドと同じようにキューで処理されるため、ネットワークのpingではなく、処理バックログを計測することになる。
  • prioritisetransaction
    指定したTXIDのトランザクションに対して仮想の優先度と手数料追加する。これによって、より低い優先度や手数料でこのノードで採掘できるようになる。
  • sendfrom
    指定したアカウントから指定したアドレス(P2PKHもしくはP2SHアドレス)へ指定した量のBitcoinを送付する。量の中には手数料は含まれないため、アカウントからは手数料を付加したBitcoinが支払われる。
  • sendmany
    指定したアカウントから指定した複数のアドレス(アドレスと送付するBitcionの量を設定)にBitcoinを送付する。
  • sendrawtransaction
    指定したトランザクションの内容を検証し、P2Pネットワークにブロードキャストする。
  • sendtoaddress
    指定したアドレスに指定した量のbitcoinを送付する。
  • setaccount
    指定したアカウントに指定したBitcoinアドレスを登録する。
  • setgenerate
    次のブロックを見つけるための生成処理を有効にするか無効にするか設定する。有効にする場合、生成処理に使用するプロセッサの数を指定可能。注意:regtest modeではこのコマンドは削除されており、代わりにgenerateコマンドを使用する。
  • settxfee
    このウォレットで作られたトランザクションによって支払われるKBあたりの手数料を設定する。
  • signmessage
    指定したアドレスの秘密鍵でメッセージに署名をする。
  • signrawtransation
    指定された秘密鍵(指定されない場合はウォレットの秘密鍵)で、指定されたトランザクションに署名を行う。
  • stop
    Bitcoin Coreのサーバをシャットダウンする。
  • submitblock
    指定されたブロックを受け入れ、ブロックチェーンに追加するのに有効なブロックか検証し、ネットワークにブロードキャストする。JSON形式のパラメータを指定した場合、Bitcoin Coreでは無視されるが、採掘プログラム等では使用されるかもしれない。
  • validateaddress
    指定されたBitcionアドレスの情報を取得する。
  • verifychain
    ローカルのブロックチェーンDBの各エントリの検証を行う。どんな検証を行うかは指定したチェックレベルによる。
  • verifymessage
    署名されれたメッセージを検証する。
  • walletlock
    メモリ上からウォレットの暗号化キーを削除しウォレットをロックする。このコマンドが呼ばれた後に、他のウォレットのアンロックが必要なコマンドを呼ぶ場合は事前にwalletpassphraseを呼ぶ必要がある。
  • walletpassphrase
    メモリ上にウォレットの復号化キーを保存する。この時一緒に、メモリ上から復号化キーを削除するまでの秒数を指定する。(指定した秒数が経過すると自動的にメモリ上から復号化キーは削除される。)
  • walletpassphrasechange
    ウォレットのパスフレーズを変更する。