すべてのプロダクト
Search
ドキュメントセンター

Blockchain as a Service:Node.js SDK の使用例

最終更新日:Apr 01, 2026

「marbles」サンプルは、Alibaba Cloud Blockchain as a Service (BaaS) 上で Hyperledger Fabric の Node.js SDK アプリケーションをデプロイおよび実行する方法を示します。このサンプルにはチェーンコードと、ブラウザ上で動作するマーブル取引ゲームが含まれます。本ガイドでは、SDK 接続プロファイルの構成から、ブラウザでのゲームプレイまで、一連のセットアップ手順を順に解説します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • BaaS 上で実行中の Hyperledger Fabric ネットワーク(少なくとも 1 つの組織およびチャンネルを含む)

  • BaaS コンソールからダウンロードした SDK 接続プロファイル(connection-profile-standard.json

  • Node.js v8 および npm のインストール

バージョンを確認するには:

$ node --version
v8.11.2

$ npm --version
5.6.0

仕組み

セットアップは、以下の 3 つの順次実行ステップで構成されます。

  1. サンプルパッケージをダウンロードし、組織の証明機関(CA)認証情報を用いて接続プロファイルを構成します。

  2. marbles チェーンコードを BaaS のチャンネルにアップロードおよびインスタンス化します。

  3. アプリケーションを起動し、チェーンコードに接続してマーブル取引を開始します。

ステップ 1:サンプルのダウンロードと構成

1.1 パッケージのダウンロード

node-sdk-demo-1.4.5 をダウンロードし、任意のディレクトリに展開します。BaaS コンソールからダウンロードした connection-profile-standard.jsonnode-sdk-demo/config ディレクトリにコピーします。

最終的なディレクトリ構造は次のようになります。

node sdk layout

1.2 接続プロファイルの構成

接続プロファイルは、Node.js SDK が Fabric ネットワークに接続する方法を定義します。SDK がユーザー登録(enrollment)を実行し証明書を取得できるようにするため、組織に属する証明機関(CA)の certificateAuthorities セクションに、組織の CA 認証情報を追加する必要があります。

config/connection-profile-standard.json を開き、組織に属する CA の下に registrar エントリを追加します。

"registrar": [
    {
        "enrollId": "user",
        "enrollSecret": "user-secret"
    }
]

たとえば、ユーザー名が user、パスワードが user-secret であり、ユーザーが test10 組織に所属している場合、認証情報を CA エントリ ca1.test10.aliyunbaas.top に追加します。

変更後の certificateAuthorities セクションは次のようになります。

connection-profile-standard
ヒント:保存前に、JSON を jsonlint.com に貼り付けて、フォーマットおよび検証を行ってください。

ステップ 2:チェーンコードのアップロード

node-sdk-demo/chaincode/marbles_v4.cc を BaaS にアップロードし、チャンネル上でインスタンス化します。詳細な手順については、「チェーンコードのデプロイ」をご参照ください。

ステップ 3:marbles アプリケーションの実行

3.1 依存関係のインストールとアプリケーションの起動

node-sdk-demo ディレクトリから、npm 依存関係をインストールしてアプリケーションを起動します。

npm install --registry http://registry.npmmirror.com
gulp marbles_baas

アプリケーションが正常に起動すると、以下のような出力が表示されます。

Debug: Open your browser to http://localhost:3001 and login to tweak settings for startup

ブラウザで http://localhost:3001 を開きます。パスワード入力を求められた場合は、admin を入力します。

3.2 チェーンコード設定の構成

アプリケーションはセットアップガイドページで起動します。ガイド付き モードを選択します。自動的にステップ 3 に遷移し、チェーンコード接続の構成が行われます。

image.png

以下のフィールドを入力します。

フィールド
channelmarbles_v4 をアップロードしたチャンネル名(例:first-channel
chaincode_idmarbles
chaincode_versionv4

再試行 をクリックします。チェーンコードが正常に検出された場合、以下のページが表示されます。

image.png

検出に失敗した場合は、チェーンコードが正しいチャンネルにアップロードおよびインスタンス化されているかを確認してください。

3.3 ゲームのプレイ

ダイアログボックスを閉じてマーブル取引ゲームを開始します。マーブルをあるユーザーから別のユーザーへドラッグすることで、資産の転送が可能です。ユーザーの横にある をクリックするとマーブルを追加でき、マーブルをゴミ箱にドラッグすると削除できます。

image.png

予期される警告

アプリケーション起動時に、以下のようなエラーログが表示されることがあります。

Missing 'chaincodeId' parameter

これは想定内の挙動です。BaaS によって生成された connection-profile-standard.json は、標準の Fabric 接続プロファイル形式に従っており、チェーンコード固有の構成を含みません。チェーンコード固有の構成は、marbles のセットアップガイドで処理されます。これらのログはアプリケーションの動作に影響しません。

次のステップ