エンタープライズ・デプロイメント・ツールを使用したBCOSのデプロイメント
10279 ワード
文書ディレクトリ一、ダウンロードインストール 1、ダウンロード 2、取付 3、取得ノードバイナリ 4、バイナリバージョンの確認 二、ノードグループネットワークトポロジ 三、機器環境 四、関連機構 五、キーフロー 六、アライアンスチェーン初期化 1、初期化チェーン証明書 証明書発行機関で操作し、1つの連盟チェーンが唯一のチェーン証明書ca.crt を持っている.2、初期化機構A 3、初期化機構B 4、機構Aは配置ファイルを修正する(機構Bは類似の修正を行い、対応する配置をBの配置に変える) 5、機構Aがノード情報を生成して送信する(機構Bが対応する操作を行い、AをBに置き換える) 6、機構A生成グループ1創世ブロック 7、機構Aは所属ノードを生成する(機構Bは類似操作で所属ノードを生成する) エンタープライズ・デプロイメント・ツールの使用FISCO BCOSエンタープライズクラスの導入ツールは、実際の多機関生産環境向けです.機関の鍵のセキュリティを保証するために、エンタープライズ・デプロイメント・ツールは、機関間で連携してアライアンス・チェーンをデプロイメントする方法を提供します. 本稿では、4ノード2メカニズム1グループのグループネットワークモデルを導入し、エンタープライズクラスの導入ツールの使用方法を説明します.パラメータオプションの詳細については、こちらを参照してください. この章は、複数の機関が対等に配置されるプロセスであり、複数の機関が配置され、機関の秘密鍵がイントラネットから出ない場合に適用される.
一、ダウンロードインストール
1、ダウンロード
2、取り付け
この操作にはsudo権限が必要です
インストールに成功したかどうかを確認し、成功したらusage:generator xxxを出力します.
3、ノードバイナリの取得
最新fisco-bcosバイナリファイルをmetaに引き抜く
4、バイナリバージョンの確認
成功すると、FISCO-BCOS Version:x.x.x-xを出力します.
二、ノードグループネットワークトポロジー
図に示す6ノード3機構2のグループのグループネットワークモード.機構Bおよび機構Cは、それぞれグループ1およびグループ2に位置する.[外部チェーン画像の転送に失敗しました.ソース局には盗難防止チェーンがある可能性があります.画像を保存して直接アップロードすることをお勧めします(img-hVRbYa 7 Y-15484456936233)(en-resource://database/737:1)]
機構Aは、同じくグループ1およびグループ2に属する.
本稿では,4ノード2機構1群のグループネットワークモードを用いて,6ノード3機構2群のグループネットワークモードを検討する.[外部チェーン画像の転送に失敗しました.ソース局には盗難防止チェーンがある可能性があります.画像を保存して直接アップロードすることをお勧めします(img-ObPllglK-1584456936236)(en-resource://database/739:2)]
三、機械環境
各ノードのIP、ポート番号は以下の通りです.
機構
ノード
所属グループ
P 2 Pアドレス
RPC/channelリスニングアドレス
機構A
ノード0
グループ1
パブリックip:30300
イントラネットip:8545/:20200
ノード1
グループ1
パブリックip:30301
イントラネットip:8546/:20201
機構B
ノード2
グループ1
パブリックip:30300
イントラネットip:8545/:20200
ノード3
グループ1
パブリックip:30301
イントラネットip:8546/:20201
メモクラウドサーバのvpsサーバの場合、RPCリスニングアドレスは、イントラネットアドレスや127.0.0.1などのネットワークカードの実際のアドレスを書く必要があります.ユーザーがログインしているsshサーバと一致しない可能性があります.
四、関連機構
チェーン操作は、次のような複数の機関の協力に関連しています.証明書発行機関 ノードを構築する機構(略称「機構」) 五、重要プロセス
[外部チェーン画像の転送に失敗しました.ソース局には盗難防止チェーンがある可能性があります.画像を保存して直接アップロードすることをお勧めします(img-Xx 90 LRao-154456936237)(en-resource://database/741:1)]
六、連盟チェーンの初期化
1、チェーン証明書の初期化
証明書発行機関で操作し、1つの連盟チェーンが唯一のチェーン証明書ca.crtを持つ
ubuntu 18.04サーバ、machineA、machineBを2台用意します.ユーザ名はubuntu ipそれぞれmachineA_ip、machineB_ipはmachineAを証明書発行機関とし、機関Aと命名し、machineBが所在する機関を機関Bと命名するチェーン証明書の生成
2、初期化機構A
機関A証明書の生成
機関証明書および秘密鍵の表示
チェーン証明書、機関証明書、機関秘密鍵を機関Aに送信する例は、ファイルコピーにより、証明書授権機関から機関証明書を対応する機関に送信し、機関の作業ディレクトリのmetaサブディレクトリの下に置く
チェーン証明書をmachineBに送信
3、初期化機構B
機関B証明書の生成
機関証明書および秘密鍵の表示
チェーン証明書、機関証明書、機関秘密鍵を機関Aに送信する例は、ファイルコピーにより、証明書授権機関から機関証明書を対応する機関に送信し、機関の作業ディレクトリのmetaサブディレクトリの下に置く
1つのアライアンスチェーンでは1つのルート証明書ca.crtしか使用できません.マルチサーバの導入時に複数のルート証明書と秘密鍵を生成しないでください.1つのグループに1つのグループしか作成できませんgroup.x.genesis
4、機構Aは配置ファイルを修正する(機構Bは類似の修正を行い、相応の配置をBの配置に変える)
5、機構Aは、ノード情報を生成して送信する(機構Bは、対応する操作を行い、AをBに置き換える)
機構Aは、上記構成のnode_deployment.ini、およびメカニズムmetaフォルダの下のメカニズム証明書と秘密鍵、メカニズムAはノード証明書およびP 2 P接続情報ファイルを生成する.
生成ファイルを表示するには、次の手順に従います.
機構がノードを生成する際には他のノードのノードP 2 P接続アドレスを指定する必要があるため、A機構はノードP 2 P接続アドレスファイルを機構Bに送信する必要がある.送信ノードP 2 P接続アドレスファイル:
創世ブロックを生成する機構にはノード証明書が必要であり、例ではA機構によって創世ブロックが生成されるので、B機構はノードP 2 P接続アドレスファイルの他に、機構Aにノード証明書を送信する必要がある.ノード証明書の送信(メカニズムBでの操作のみ):
6、機構A生成グループ1創世ブロック
機構Aはconfフォルダの下のgroup_を修正するgenesis.ini
チュートリアルでは、選択機構Aがグループ創世ブロックを生成し、実際の生産では連盟チェーン委員会を通じて選択を協議することができる.
このステップでは、メカニズムAのmetaフォルダの下に配置されているノード証明書に基づいてgroup_を生成します.genesis.iniが構成するグループ創世ブロック、チュートリアルで機構Aを必要とするmetaの下でcert_と呼ばれていますmachineA_IP_30300.crt,cert_machineA_IP_30301.crt,cert_machineA_IP_30300.crt,cert_machineA_IP_30301.crtのノード証明書.このステップでは、メカニズムBのノード証明書を使用する必要があります.
配布グループ1創世ブロックから機構Bへ:
7、機構Aは所属ノードを生成する(機構Bは類似操作で所属ノードを生成する)
機構Aが属するノードが生成され、このコマンドはユーザによって構成されるnode_deployment.iniファイルは、対応するノード構成フォルダを生成します.このステップで指定したノードP 2 P接続情報peers.txtは、グループ内の他のノードのリンク情報であり、複数のメカニズムグループネットワークの場合にマージする必要があります.
構築ノード構成フォルダを表示するには、次の手順に従います.
機構A起動ノード:
機構Bが上記の流れに従ってノードを起動した後、図に示す機構A、Bがグループ1を構築する操作を完了した:[外部チェーン画像の転送に失敗し、ソース局に盗難防止チェーン機構がある可能性があり、画像を保存して直接アップロードすることを提案する(img-LVwByCSX-1584456936238)(en-resource://database/739:2)]
一、ダウンロードインストール
1、ダウンロード
$ cd ~/ && git clone https://github.com/FISCO-BCOS/generator.git
2、取り付け
この操作にはsudo権限が必要です
$ cd ~/generator && bash ./scripts/install.sh
インストールに成功したかどうかを確認し、成功したらusage:generator xxxを出力します.
$ ./generator -h
3、ノードバイナリの取得
最新fisco-bcosバイナリファイルをmetaに引き抜く
$ ./generator --download_fisco ./meta
4、バイナリバージョンの確認
成功すると、FISCO-BCOS Version:x.x.x-xを出力します.
$ ./meta/fisco-bcos -v
二、ノードグループネットワークトポロジー
図に示す6ノード3機構2のグループのグループネットワークモード.機構Bおよび機構Cは、それぞれグループ1およびグループ2に位置する.[外部チェーン画像の転送に失敗しました.ソース局には盗難防止チェーンがある可能性があります.画像を保存して直接アップロードすることをお勧めします(img-hVRbYa 7 Y-15484456936233)(en-resource://database/737:1)]
機構Aは、同じくグループ1およびグループ2に属する.
本稿では,4ノード2機構1群のグループネットワークモードを用いて,6ノード3機構2群のグループネットワークモードを検討する.[外部チェーン画像の転送に失敗しました.ソース局には盗難防止チェーンがある可能性があります.画像を保存して直接アップロードすることをお勧めします(img-ObPllglK-1584456936236)(en-resource://database/739:2)]
三、機械環境
各ノードのIP、ポート番号は以下の通りです.
機構
ノード
所属グループ
P 2 Pアドレス
RPC/channelリスニングアドレス
機構A
ノード0
グループ1
パブリックip:30300
イントラネットip:8545/:20200
ノード1
グループ1
パブリックip:30301
イントラネットip:8546/:20201
機構B
ノード2
グループ1
パブリックip:30300
イントラネットip:8545/:20200
ノード3
グループ1
パブリックip:30301
イントラネットip:8546/:20201
メモクラウドサーバのvpsサーバの場合、RPCリスニングアドレスは、イントラネットアドレスや127.0.0.1などのネットワークカードの実際のアドレスを書く必要があります.ユーザーがログインしているsshサーバと一致しない可能性があります.
四、関連機構
チェーン操作は、次のような複数の機関の協力に関連しています.
[外部チェーン画像の転送に失敗しました.ソース局には盗難防止チェーンがある可能性があります.画像を保存して直接アップロードすることをお勧めします(img-Xx 90 LRao-154456936237)(en-resource://database/741:1)]
六、連盟チェーンの初期化
1、チェーン証明書の初期化
証明書発行機関で操作し、1つの連盟チェーンが唯一のチェーン証明書ca.crtを持つ
ubuntu 18.04サーバ、machineA、machineBを2台用意します.ユーザ名はubuntu ipそれぞれmachineA_ip、machineB_ipはmachineAを証明書発行機関とし、機関Aと命名し、machineBが所在する機関を機関Bと命名する
$ cd ~/generator
$ ./generator --generate_chain_certificate ./dir_chain_ca
#
$ ls ./dir_chain_ca
# 、
ca.crt ca.key
2、初期化機構A
機関A証明書の生成
$ ./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyA
機関証明書および秘密鍵の表示
$ ls dir_agency_ca/agencyA/
# # 、 、
agency.crt agency.key ca.crt
チェーン証明書、機関証明書、機関秘密鍵を機関Aに送信する例は、ファイルコピーにより、証明書授権機関から機関証明書を対応する機関に送信し、機関の作業ディレクトリのmetaサブディレクトリの下に置く
$ cp ./dir_agency_ca/agencyA/* ~/generator/meta/
チェーン証明書をmachineBに送信
$ scp -r ./dir_chain_ca ubuntu@machineB_ip:/home/ubuntu/generator/dir_chain_ca
3、初期化機構B
機関B証明書の生成
$ ./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyB
機関証明書および秘密鍵の表示
$ ls dir_agency_ca/agencyB/
# # 、 、
agency.crt agency.key ca.crt
チェーン証明書、機関証明書、機関秘密鍵を機関Aに送信する例は、ファイルコピーにより、証明書授権機関から機関証明書を対応する機関に送信し、機関の作業ディレクトリのmetaサブディレクトリの下に置く
$ cp ./dir_agency_ca/agencyB/* ~/generator/meta/
1つのアライアンスチェーンでは1つのルート証明書ca.crtしか使用できません.マルチサーバの導入時に複数のルート証明書と秘密鍵を生成しないでください.1つのグループに1つのグループしか作成できませんgroup.x.genesis
4、機構Aは配置ファイルを修正する(機構Bは類似の修正を行い、相応の配置をBの配置に変える)
$ vim ./conf/node_deployment.ini
# :
[group]group_id=1
[node0]
; host ip for the communication among peers.
; Please use your ssh login ip.
p2p_ip=machineA ip
; listen ip for the communication between sdk clients.
; This ip is the same as p2p_ip for physical host.
; But for virtual host e.g. vps servers, it is usually different from p2p_ip.
; You can check accessible addresses of your network card.
; Please see https://tecadmin.net/check-ip-address-ubuntu-18-04-desktop/
;for more instructions.
rpc_ip=machineA ip
p2p_listen_port=30300
channel_listen_port=20200
jsonrpc_listen_port=8545
[node1]
p2p_ip=machineA ip
rpc_ip=machineA ip
p2p_listen_port=30301
channel_listen_port=20201
jsonrpc_listen_port=8546
5、機構Aは、ノード情報を生成して送信する(機構Bは、対応する操作を行い、AをBに置き換える)
機構Aは、上記構成のnode_deployment.ini、およびメカニズムmetaフォルダの下のメカニズム証明書と秘密鍵、メカニズムAはノード証明書およびP 2 P接続情報ファイルを生成する.
$ ./generator --generate_all_certificates ./agencyA_node_info
生成ファイルを表示するには、次の手順に従います.
$ ls ./agencyA_node_info
#
# A , P2P ( node_deployment.ini )
cert_machineA_IP_30300.crt cert_machineA_IP_30301.crt peers.txt
機構がノードを生成する際には他のノードのノードP 2 P接続アドレスを指定する必要があるため、A機構はノードP 2 P接続アドレスファイルを機構Bに送信する必要がある.送信ノードP 2 P接続アドレスファイル:
$ scp ./agencyA_node_info/peers.txt ubuntu@machineB_IP:/home/ubuntu/generator/meta/peersA.txt
創世ブロックを生成する機構にはノード証明書が必要であり、例ではA機構によって創世ブロックが生成されるので、B機構はノードP 2 P接続アドレスファイルの他に、機構Aにノード証明書を送信する必要がある.ノード証明書の送信(メカニズムBでの操作のみ):
$ scp ./agencyB_node_info/cert*.crt ubuntu@machineB_IP:/home/ubuntu/generator/meta/
6、機構A生成グループ1創世ブロック
機構Aはconfフォルダの下のgroup_を修正するgenesis.ini
$ vim ./conf/group_genesis.ini
[group]
group_id=1
[nodes]
node0=machineA_IP:30300
node1=machineA_IP:30301
node2=machineB_IP:30300
node3=machineB_IP:30301
チュートリアルでは、選択機構Aがグループ創世ブロックを生成し、実際の生産では連盟チェーン委員会を通じて選択を協議することができる.
このステップでは、メカニズムAのmetaフォルダの下に配置されているノード証明書に基づいてgroup_を生成します.genesis.iniが構成するグループ創世ブロック、チュートリアルで機構Aを必要とするmetaの下でcert_と呼ばれていますmachineA_IP_30300.crt,cert_machineA_IP_30301.crt,cert_machineA_IP_30300.crt,cert_machineA_IP_30301.crtのノード証明書.このステップでは、メカニズムBのノード証明書を使用する必要があります.
$ ./generator --create_group_genesis ./group
配布グループ1創世ブロックから機構Bへ:
$ scp ./group/group.1.genesis ubuntu@machineB_IP:/home/ubuntu/generator/meta
7、機構Aは所属ノードを生成する(機構Bは類似操作で所属ノードを生成する)
機構Aが属するノードが生成され、このコマンドはユーザによって構成されるnode_deployment.iniファイルは、対応するノード構成フォルダを生成します.このステップで指定したノードP 2 P接続情報peers.txtは、グループ内の他のノードのリンク情報であり、複数のメカニズムグループネットワークの場合にマージする必要があります.
$ ./generator --build_install_package ./meta/peersB.txt ./nodeA
構築ノード構成フォルダを表示するには、次の手順に従います.
$ ls ./nodeA
# tree
# nodeA ,
├── monitor # monitor
├── node_machineA_IP_30300 # machineA 30300
├── node_machineA_30301
├── scripts #
├── start_all.sh #
└── stop_all.sh #
機構A起動ノード:
$ bash ./nodeA/start_all.sh
#
$ ps -ef | grep fisco
# log:
$ tail -f ./node*/node*/log/log* | grep +++
機構Bが上記の流れに従ってノードを起動した後、図に示す機構A、Bがグループ1を構築する操作を完了した:[外部チェーン画像の転送に失敗し、ソース局に盗難防止チェーン機構がある可能性があり、画像を保存して直接アップロードすることを提案する(img-LVwByCSX-1584456936238)(en-resource://database/739:2)]