1. IBM Cloudへログイン
IBM Cloudへログインします。
https://ibm.biz/BdzKBB
2. IBPのネットワーク起動
IBM CloudのカタログからBlockchain Platform v2.0を選択します。
ダッシュボード画面上部のメニューバーから「カタログ」を選択し、検索ボックスに「Blockchain」と入力するとカタログ内容がフィルターされます。Blockchain関連は2つ表示されると思いますが、黒いアイコンの方を選択します。
ロケーションはダラスを選択します。サービス名はそのままでOKです。
料金プランは標準を選択し、作成ボタンをクリックします。
まもなくIBP作成画面へ遷移します。続行ボタンをクリックします。
ダラスのデータセンターでIBM Kubernetes Services(IKS)のクラスターを作成する必要があります。既に構築済みのクラスターも利用可能です。
IKSの無料プランを選択すれば30日間無料で利用することができます。
新規クラスター作成を選択すると、別ウィンドウで「新規クラスター作成」画面が開きます。こちらで無料クラスターを作成して下さい。
クラスターありを選択すると、「IBM Kubernetes Service クラスターへの IBM Blockchain Platform のデプロイ」画面へ遷移します。画面中央にあるクラスター選択のプルダウンから、自分のクラスターを選択します。ここではmyclusterがそれにあたります。選択したらクラスターへのデプロイボタンをクリックします。
※ここの工程は数分かかる場合があります。
クラスターへのデプロイが完了すると「ご使用のクラスターがリンクされました!」という表示に遷移するので、IBM Blockchain Platformの起動ボタンをクリックします。
IBPの管理コンソール画面が表示されればデプロイは成功です。
3. ノードの作成
3-1 認証局ノードの作成
Blockchain ネットワークに参加する組織の認証局(CA)を起動し、認証局を使って、秘密鍵や証明書を発行して、他のノードを起動していきます。
管理コンソールの左メニューのノードを選択します。
認証局の追加をクリックします。
「IBM Cloud認証局の作成」を選択して「次へ」をクリックします。
CA表示名を”Org1 CA”と記入し次へをクリックします。
CA管理者登録IDを”admin”、CA 管理者登録機密事項を”adminpw”として次へをクリックします。
最後に認証局の追加ボタンをクリックするとCAノードが作成される。
同様の要領で順序付けサービス(Orderer)用のCAも作成しておきます。ここでは”Orderer CA”という表示名にしておきます。
3-2 管理者ユーザーの作成
3-1で作成したCAのadminユーザを作成する。3-1で作成したデフォルトユーザをそのまま利用するのは、セキュリティ観点で避けましょう。
3-1で作成したOrg1 CAを選択し、「アイデンティティの関連付け」ボタンをクリックします。
アイデンティティの関連付けウィンドウが開くので、先ほど認証局作成時に作成したIDである"admin"と"adminpw"を入力し、「アイデンティティの関連付け」ボタンをクリックします。
登録済みユーザーの表示になるので、「ユーザーの登録」ボタンをクリックします。
登録IDは”org1admin”、登録機密事項は”adminpw”で作成します。
タイプはClientを選択。ルートアフィリエーションは本サンプルでは使用しないので、チェックの有無は任意で設定し、次へボタンをクリックします。オプション欄は記入のままで結構です。
ユーザーの登録ボタンをクリックするとユーザーが作成されます。
同様にPeer構築用のユーザを作成します。
登録IDは”peer1"、登録機密事項は”peer1pw”でユーザタイプはpeerを選択します。
これで、Org1 CAには3つの登録IDが作成されました。
・admin -> CA作成時に作った管理者アカウント
・org1admin -> 作業用管理者アカウント
・peer1 -> Peer構築用アカウント
Ordererも同様に”ordereradmin”と”orderer1"ユーザの2つを作成します。登録機密事項は”adminpw”と”orderer1pw”を設定します。
3-3 組織の作成
IBPの管理コンソールの組織タブを選択する。
MSP定義の作成を選択する。
MSP表示名をOrg1 MSP、MSP IDをorg1mspでセットし、ルート認証局の選択欄では先ほど作成したOrg1 CAを選択します。
登録IDと登録機密事項は”org1admin”と”adminpw”に変更し、アイデンティティ名に”Org1 Admin”を設定し、生成ボタンをクリックします。「アイデンティティは正常に生成され、ウォレットに追加されました。〜」というメッセージが表示されれば成功です。
IBP管理コンソールのwalletで作成したユーザを確認することができます。
秘密鍵と証明書はエクスポートしてVSCodeとの接続にも利用します。
このwalletはブラウザのローカルストレージ上に保存されているだけで、IKS上に保存されていないため、ユーザ自身でエクスポートして管理する必要があります。
ブラウザの履歴を削除したり、キャッシュを削除するとwalletのデータがなくなり、ノードにアクセスできなくなってしまうので、作成したwalletのデータは必ずエクスポートしてバックアップを取得しておく必要があります。
最後にMSPの作成ボタンをクリックします。組織が作成されたことを確認します。
同様にOrderer MSPも作成します。MSP表示名とIDは”Orderer MSP”と”orderermsp"を設定します。ルート認証局は”Orderer CA”を選択して下さい。登録ID登録と登録機密事項は”ordereradmin”と”adminpw”を設定します。アイデンティティ名は"Orderer Admin"とします。
3-4 ピア、順序付けサービスノードの作成
IBPの管理コンソールのノードタブを選択しピアの追加を選択する。
IBM Cloud ピアの作成を選択し、次へをクリックします。
ピア表示名はPeer Org1に設定します。
認証局はOrg1 CA、ピア登録 IDとピア登録機密事項はPeerの作成用に作成したpeer1ユーザを指定します。
組織 MSPは"Org1 MSP"を選択します。
TLSの欄は登録 IDは”admin”、登録機密事項は”adminpw”を選択します。(オプション機能のため)
最後にアイデンティティを、既存アイデンティティから”Org1 Admin”にして次へ、内容を確認しピアの追加をクリックすると、ピアが作成されます。
同様に順序付けサービス(Orderer)も作成します。
ここまででピア1台、順序付けサービス1台、認証局が2台作成できていることをノードタブで確認します。
4. 作成した組織のコンソーシアムメンバーへの追加
ネットワークへ参加予定の組織は、全てコンソーシアムメンバーに登録して置かないとチャネルの作成でエラーが発生するので、ここで登録していきます。
IBPの管理コンソールのノードタブから作成した順序付けサービスを選択し、共同事業体メンバーの組織の追加を選択します。
既存MSP IDを選択し、”Org1 MSP”を選択して組織の追加をクリックします。Orderer(順序付けサービス)画面で追加されたことを確認します。
5. チャネルの作成
IBPのコンソールの左メニュー画面からチャネルを選択し、チャネルの作成を選択します。
以下のように値を入力していきます。組織エリアでは、チャネルメンバーにOrg1 MSPを選択し追加ボタンを押すと、Org1 MSPに対する権限の設定欄が表示されるので、オペレーターにチェックを入れます。
チャネル作成者の組織エリアでは、Org1 MSPを選択し、アイデンティティにOrg1 Adminを選択し、チャネルの作成ボタンをクリックします。
ピアをこのチャネルへ結合します。今作成したチャネルのタイルをクリックします。Peer Org1を選択し、チャネルへの結合をクリックします。
これで、IBPを使ってIBM CloudのKubernetes環境上にブロックチェーンネットワークを構築することができました。
4. これからのステップ
・スマートコントラクトデプロイ
・ネットワークへの接続
・VS Codeとの接続〜テスト
これらに関しては、追って解説をしていきたいと思います。
今回はここまで!