ブロックチェーンの課題と可能性~BBc-1(Beyond Blockchain One)から学ぶブロックチェーン開発

第9回 BBc-1ソースコードやドキュメント類

この記事を読むのに必要な時間:およそ 1.5 分

今回はgithubに公開されているBBc-1のリポジトリの構成や内容について説明します。Web上で確認できますが,gitコマンドでcloneしてリポジトリ全体を取得していただいても構いません。

BBc-1のプロジェクト構成

BBc-1は複数のリポジトリ群から構成されており,必要に応じて組み合わせて使います。こちらのURLをご覧ください。

2018年10月末時点では,6つのリポジトリが登録されています。

表1 beyond-blockchainの主要リポジトリ

リポジトリ名概要
bbc1BBc-1のコア機能のリファレンス実装です。
libbbcsigBBc-1の署名作成・検証のためのライブラリで,高速化のためここだけC言語で実装されています。bbc1およびその他実装で利用します。
ledger_subsystem EthereumおよびBitcoinにアンカリングするための追加機能です。bbc1に組み込んで使います。
bbc1-lib-stdbbc1のユーザIDと公開鍵の紐付けを管理するためのライブラリです。bbc1のアプリケーションに組み込むことができます。
bbc1-lib-tokens トークン系アプリケーションのためのライブラリです。bbc1のアプリケーションに組み込むことができます。
examplesサンプルアプリケーションです。

※アンカリングとは:
BBc-1トランザクション群のマークル木を外部ブロックチェーンに書き込み,外部システムを利用した存在証明を行うための機能です。

bbc1とlibbbcsigは必ずセットで利用します。分離しているのは,BBc-1の署名作成・検証機能をさまざまなBBc-1実装に使えるようにするためです。今回以降の記事は,基本的にはbbc1リポジトリの内容について説明していきます。

ディレクトリ構成

bbc1リポジトリの中を見ていきましょう。いくつかのディレクトリが含まれています。

表2 bbc1リポジトリ内の主なディレクトリ

ディレクトリ名概要
bbc1/core/BBc-1のコア機能のPythonスクリプトが格納されています。
docker/Dockerコンテナ上でbbc1を動作させるためのスクリプトが格納されています。
docs/ドキュメント群が格納されています。PDFファイル群と,sphinxによるAPIドキュメントが含まれます。
examples/file_proof/ファイルの存在証明のサンプルアプリケーションが格納されています。その他のサンプルは,先に紹介したexamplesリポジトリに移行されました。
tests/テストコード群が格納されています。
utils/bbc1のcoreプロセスを制御するためのツール群が格納されています。

今回は,ドキュメントについて重点的に紹介し,最後にexamplesのツールの導入と使い方について簡単にご紹介します。

ドキュメント類

全体概要や使い方,プログラミング方法については,docs/ディレクトリの中にPDFファイルやmarkdown形式で各種ドキュメントが含まれます。

設計思想などBBc-1の根本に触れたいなら

BBc憲章(BBcトラスト)

BBc-1が何を目指すものであるかを宣言しています。

BBc-1設計書

BBc-1のシステム設計について記載しています。

ホワイトペーパー(英語)
分析論文(英語)

セキュリティ観点からの分析論文です。

BBc-1コアの使い方,設定方法

インストール方法英語日本語)
使い方
ネットワーク設定方法(英語)

NAT環境で複数のcoreノードを接続する方法の説明です。

Windowsでのビルド方法

サンプルアプリ

file_proofの使い方

BBc-1コアの詳細

BBc-1リファレンス実装の動作仕様

プログラミングガイド

アプリケーションの作り方

※2018年11月21日にversion1.2がリリースされました。

APIドキュメント

ドキュメント類のおすすめの読み進め方

とにかく触ってみようという方は,上記のドキュメントの中の,

  1. インストール方法
  2. file_proof.pyの使い方

の順に読んでいただくのをおすすめします。次回は,その内容を簡単にまとめたものになります。

アプリを作ることも視野に入れたい,または仕組みを知りたい場合は,

  1. BBc-1設計書
  2. BBc-1の動作仕様
  3. クライアントアプリの作り方

の順で読んでいただくのをおすすめします。もしPythonに精通されているようでしたら,リポジトリ内のsrc/core/ディレクトリ内にあるソースコードをあわせて確認しながらの方が理解しやすいかもしれません(そのようにコメントされた方がいらっしゃいました)⁠

まとめ

今回は,githubに公開されているBBc-1のリポジトリ,特に中心となるbbc1リポジトリについて紹介し,docs/ディレクトリ内のドキュメントの概要について触れました。なお,本連載のこれまでの内容は,BBc憲章とBBc-1設計書を説明したものになっています。

次回は,bbc1リポジトリに含まれているサンプルアプリケーションのfile_proof.pyの使い方について説明します。

著者プロフィール

久保健(くぼたけし)

1977年生まれ,大阪出身。

株式会社ゼタント代表取締役/一般社団法人ビヨンドブロックチェーン理事。大手通信会社の研究所での研究,企画部門でのプロジェクトマネジメントなどを経て,独立。気がつけばBeyond Blockchain One(BBc-1)のメイン開発者になっていたが,あくまで趣味の位置づけ。本業では,技術者・研究者も報われる会社を目指す。

コメント

コメントの記入