fisco bcos國密版部署總體思路:
ca節點初始化鏈證書和鏈私鑰
將鏈證書、機構證書傳送給對應機構
機構修改節點配置檔案
生成節點資訊(證書,連線資訊)
機構間互換節點連線資訊
選出乙個機構,將所有的節點證書傳送給該機構,讓其建立群組的創世區塊,並分發給其他組員
生成節點(已拿到鏈證書、機構證書、節點證書、,其他組員的連線資訊、創世區塊)
啟動節點
配置控制台
準備工作:
安裝:
獲取國密二進位制檔案:
初始化機構:(僅限本機,多機部署需自行初始化)
部署流程:
1. ca節點:初始化鏈證書和鏈私鑰
檢視鏈證書和鏈私鑰
2. ca節點: 生成機構的證書和機構私鑰(正常多機部署需要機構自行建立機構私鑰並向ca節點申請機構證書)
檢視機構證書和私鑰
3. ca節點:將鏈證書,機構證書(機構私鑰)傳送給機構
4. 所有機構:修改機構的節點配置檔案(#node_deployment.ini為節點配置檔案,運維部署工具會根據node_deployment.ini下的配置生成相關節點證書,及生成節點配置資料夾等)
5. 所有機構:生成節點資訊(節點證書,連線資訊)
7. 單個機構(該機構由各成員商討選出,例:a機構):生成創世塊(生成創世塊的機構需要拿到其他機構的節點證書)
收集其他機構節點證書(各節點將節點證書傳送給要生成創世區塊的機構:例:b機構將節點證書傳送給a機構)
修改group_genesis.ini 檔案
生成群組創世區塊
將創世區塊分發給其他組員
8. 所有機構:生成節點(peer.txt檔案可自定,如果有多名成員,需要將其合併)
9. 所有機構:啟動節點
10. 配置控制台
修改配置檔案
將encrypttype改為1:
替換為國密版jar包
cd console && curl -lo && bash replace_solc_jar.sh solcj-all-0.4.25-gm.jar
開啟控制台
node_deployment.ini:
[group]
group_id=1
[node0]
p2p_ip=127.0.0.1
rpc_ip=127.0.0.1
channel_ip=0.0.0.0
p2p_listen_port=30300
channel_listen_port=20200
jsonrpc_listen_port=8545
[node1]
p2p_ip=127.0.0.1
rpc_ip=127.0.0.1
channel_ip=0.0.0.0
p2p_listen_port=30301
channel_listen_port=20201
jsonrpc_listen_port=8546
eof
group_genesis.ini:
[group]
group_id=1
[nodes]
node0=127.0.0.1:30300
node1=127.0.0.1:30301
node2=127.0.0.1:30302
node3=127.0.0.1:30303
eof
機構向ca節點請求機構證書:
1.機構首先在本地使用機構私鑰agency.key生成證書請求檔案agency.csr;
openssl req -new -sha256 -subj "/cn=$name/o=fisco-bcos/ou=agency" -key ./agency.key -config ./cert.cnf -out ./agency.csr
2.聯盟鏈委員會根據證書請求檔案生成機構證書agency.crt;
openssl x509 -req -days 3650 -sha256 -ca ./ca.crt -cakey ./ca.key -cacreateserial -in ./agency.csr -out ./agency.crt -extensions v4_req -extfile ./cert.cnf
新增組員:
該機構先向ca節點取得鏈證書和機構證書
向目標群組的某一成員請求群組創世檔案
將自己的連線資訊傳送給其他組員
啟動節點
使用mysql儲存:
mysql配置:
檢視配置檔案my.cnf
mysql依次從/etc/mysql/my.cnf,/etc/my.cnf,~/.my.cnf中載入配置。依次查詢這幾個檔案,找到第乙個存在的檔案,在[mysqld]段中新增如下內容(如果存在則修改值)。
重啟mysql
配置好mysql後,修改節點中/conf資料夾下的group.1.ini檔案,將[storage]下的type改為mysql,並設定db_ip、db_port、db_username、db_passwd、db_name,重啟節點。
db_name需要分割槽節點和群組,例如:a節點的群組1的db_name=db_group1_a,群組2的db_name=db_group2_a。b節點的群組1的db_name=db_group1_b,b節點的群組2的db_name=db_group2_b
如何將已有鏈轉為mysql儲存:
先將其中乙個節點改為mysql模式,並重啟節點,等到該節點mysql中資料同步完成後,將其他節點也改為mysql模式,並重啟即可,這樣可以在保留之前的區塊資訊的前提下轉為mysql。
證書間的關係:
ca→機構→節點
ca節點生成鏈證書
機構向ca節點請求機構證書
節點向機構請求節點證書
詳情請以官方文件為準 fisco bcos國密版部署
FISCO BCOS安裝實踐Ubuntu版本
本文件是fisco bcos區塊鏈開源平台的一部分。fisco bcos平台是金融區塊鏈合作聯盟 深圳 以下簡稱 金鍊盟 開源工作組以金融業務實踐為參考樣本,在bcos開源平台基礎上進行模組公升級與功能重塑,深度定製的安全可控 適用於金融行業且完全開源的區塊鏈底層平台。fisco bcos平台基於現...
國密演算法介紹以及Fabric國密擴充套件
國密即國家密碼局認定的國產密碼演算法。主要有sm1,sm2,sm3,sm4。金鑰長度和分組長度均為128位。sm1 為對稱加密。其加密強度與aes相當。該演算法不公開,呼叫該演算法時,需要通過加密晶元的介面進行呼叫。採用該演算法已經研製了系列晶元 智慧型ic卡 智慧型密碼鑰匙 加密卡 加密機等安全產...
國密演算法(二)
接上文 sm4對稱演算法是乙個分組演算法,用於無線區域網產品。該演算法的分組長度為128位元,金鑰長度為128位元。加密演算法與金鑰擴充套件演算法都採用32輪非線性迭代結構。解密演算法與加密演算法的結構相同,只是輪金鑰的使用順序相反,解密輪金鑰是加密輪金鑰的逆序。此演算法採用非線性迭代結構,每次迭代...