bitcoinjの概要

【目次】

 

bitcoinjとは?

bitcoinjはBitcoinプロトコルを扱うライブラリです。 BitcoinCoreのローカルコピーなしにウォレットを維持したり、トランザクションを送受信したり、その他の高度な機能を備えています。 Javaで実装されていますが、任意のJVM互換言語が使用できます。その中にはPythonJavaScriptが含まれています。良く知られている多くのBitcoinアプリとサービスがbitcoinjで構築されています。

 

特徴

  1. 高度に最適化された軽量SPVモードは、ブロックチェーンのごく一部をダウンロードするだけで使用する事が出来るので、仮想プライベートサーバやスマートフォンのような制約された環境で最適に使用することが出来ます。
  2. ウォレットクラスの暗号化、手数料の計算、マルチシグ、決定論的鍵の導出、接続可能なコインの選択と操作、拡張機能のサポート、イベントリスナーを備えたウォレットクラスにより、残高の変化を最新の状態に保ちます。
  3. クライアントとサーバーの間で複数署名契約を設定出来る少額決済チャンネルをサポートし、そのチャンネルでマイナー手数料を避ける高速の少額決済を可能にします。
  4. ネットワークの非同期処理および、スレッドごとの接続。この2つの機能を提供する事で、拡張性と遮断性を選択する事が出来ます。
  5. Bitcoinの契約機能を利用するアプリを簡単に実装することが出来ます。
  6. アプリを開発する時の見本として使うことが出来るシンプルなGUIウォレットアプリとGUIウォレットアプリのカスタマイズとJAVAを必要としないインストラーの作り方はチュートリアルを見て下さい。
  7. ネットワーク、支払いのプロトコル、チェーンファイル、ウォレットの操作する為のコマンドラインツール。
  8. Bitcoinスタンダード(Btcoin上に構築された新しい拡張機能プロトコルを標準化)をサポートしています。


bitcoinj入門

以下から必要なものを入手することが出来ます。

  1. bitcoinjのライブラリ
  2. MovenとGradleの使用方法
  3. bitcoinjのコード

 

必要に応じて読んで下さい。

 

 

※もしbitcoinjをアプリケーションに使う場合はリストに登録して下さい。クリティカルなバグが見つかった場合や新しいバージョンが利用可能になった場合に、いち早く知る事ができます。

 

ライセンス

このライブラリはApacheのライセンスを受けています。 ライブラリを使用することは、そのライセンスの条件に同意したとみなされます。 特に、第7章と第8章に注意してください。このライブラリにバグがなく、完璧に安全であることを保証していません。実際にバグの可能性はあり、このコードの使用に起因した損失は起こりえます。ですので、ライブラリで配布されているライセンスに従い、いかなる損失があった場合でも訴えるような事はしないで下さい(ライブラリを使用する事は、ライブラリも含め全体を自分で書いたようなものです)。 それに従えない場合は、このライブラリを使用しないでください。

 

ドキュメンテーション

0.14.5 API documentation

さまざまなトピックを網羅した更に深い記事がいくつかあります。順番に読むことでとても良く理解する事が出来きます。

 

基礎

 

CoreAPIの詳細

 

bitcoinjの動画

 

高度な機能

 

※0.3から開始する各リリースのリリースノートを読むことができます。

 

コミュニティ

  • Githubにあるbitcoinjのプロジェクトに、ぜひスターをつけて下さい
  • メーリングリストにある改善点について話し合い質問に答えます
  • データベース上の問題の調査や報告を行っています(助けが必要な場合はデータベースを使わずにメーリングリストを使って下さい)
  • google+のbitcoinjに従って下さい
  • IRC(インターネット・リレイ・チャット)チャンネルに参加して下さい