Fabric Nodejs SDK のサンプル プログラムは、コミュニティの marbles をベースとしており、チェーンコードと Web ゲームが含まれています。BaaS での実行方法を次に示します。
Nodejs と NPM のインストール
Marbles は Nodejs
v8 バージョンと npm
に依存しており、次のコマンドで Nodejs と npm が正常にインストールされていることを確認します。
$ node --version
V8.11.2
$ npm --version
5.6.0
サンプル プログラムのダウンロード
node-sdk-demo-1.4.5 を任意のディレクトリにダウンロードして解凍します。SDK 構成ファイル connection-profile-standard.json
を node-sdk-demo/config
ディレクトリにコピーします。最終的なディレクトリ構造は次のとおりです。
構成ファイル config/connection-profile-standard.json
を変更します。ユーザー名とパスワードを次の JSON コンテンツに構成し、対応する certificateAuthorities
セクションに追加します。
"registrar": [
{
"enrollId": "user",
"enrollSecret": "user-secret"
}
],
たとえば、ブロックチェーン組織ページで作成されたユーザー名とパスワードが user
/user-secret
で、ユーザーが test10
組織からのものである場合、ユーザー情報は CA: ca1.test10.aliyunbaas.top
に追加する必要があります。変更された構成ファイルは以下に示されています。
json ファイルのフォーマットは編集しやすく、オンライン サービス https://jsonlint.com/ を使用してフォーマットできます。編集後、フォーマットツールを使用して json 形式が正当かどうかを監視することをお勧めします。
チェーンコードのアップロード
チェーンコード node-sdk-demo/chaincode/marbles_v4.cc
を BaaS にアップロードしてインスタンス化します。アップロード方法については、「チェーンコードのデプロイ」をご参照ください。
サンプル プログラムの実行
次のコマンドを実行して marbles の依存関係をインストールし、marbles アプリを起動します。
Npm install --registry http://registry.npmmirror.com
Gulp marbles_baas
次の出力が表示されたら、marbles アプリが起動しています。
Debug: Open your browser to http://localhost:3001 and login to tweak settings for startup
http://localhost:3001/ をブラウザで開いて marbles の Web にアクセスします。パスワードを要求された場合は、admin
と入力します。
BaaS によって生成された connection-profile-standard.json
は標準の Fabric 構成ファイルであるため、チェーンコードの構成情報は含まれていません (この構成は marbles のパーソナライズされた構成です)。そのため、「'chaincodeId' パラメーターがありません」などのエラーログが表示される場合がありますが、これらのエラーログは想定されており、marbles の動作には影響しません。
次に、marbles ガイドページでチェーンコードに関する情報を構成するため、[Guided (ガイド)] モードを選択します。
自動的に 3 番目のステップにジャンプし、チェーンコード情報の構成を開始します。
channel: アップロードされた marbles_v4 のチャネル名 (例: first-channel) を入力します。
chaincode_id: marbles と入力します。
chaincode_version: v4 と入力します。
入力が完了したら、[Try Again (再試行)] をクリックします。チェーンコードが正常に検出されると、次のページが表示されます。チェックに失敗した場合は、チェーンコードがアップロードされ、インスタンス化されているかどうかを再確認してください。
これで構成は完了です。ダイアログボックス ウィンドウを閉じて再生を開始します。これは、marbles をあるユーザーから別のユーザーにドラッグすることで、異なるユーザー間で色付きの marble アセットを転送するサンプル プログラムです。ユーザーの右側にある「+」をクリックして、ユーザーに marble アセットを追加します。marble をゴミ箱にドラッグして、アセットを削除します。
marbles の詳細については、コミュニティドキュメント を参照してください。Nodejs SDK の使用方法の詳細については、コミュニティの fabric-sdk-node を参照してください。