# 闀垮畨閾剧粍缁囧拰鑺傜偣绠$悊 ## 闀垮畨閾剧粍缁囩鐞� 闀垮畨閾剧粍缁囩鐞嗗寘鎷涓嬫帴鍙o細 - 娣诲姞缁勭粐鏍硅瘉涔︼細娣诲姞涓€涓粍缁囩殑鏍硅瘉涔︼紝姣忎釜缁勭粐鍙互鏈夊涓笉閲嶅鐨勬牴璇佷功銆� - 鏇存柊缁勭粐鏍硅瘉涔︼細鏇存柊鏌愪釜缁勭粐鐨勬牴璇佷功锛屾洿鏂版牴璇佷功涔嬪墠锛岄渶淇濊瘉璇ョ粍缁囨病鏈夊弬涓庡叡璇嗭紝鍗砪hainconfig鐨刢onsensus.node涓笉鍖呭惈璇ョ粍缁囩殑鍚嶇О銆� - 鍒犻櫎缁勭粐鏍硅瘉涔︼細鍒犻櫎鏌愪釜缁勭粐鐨勬墍鏈夋牴璇佷功锛屽垹闄ゆ牴璇佷功涔嬪墠锛岄渶淇濊瘉璇ョ粍缁囨病鏈夊弬涓庡叡璇嗐€� 鍛戒护琛屽彂閫佷氦鏄撳弬鑰冿細[娣诲姞缁勭粐鏍硅瘉涔(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.addOrgRootCA) ## 鑺傜偣绠$悊 ### 鑺傜偣绠€浠� ChainMaker鍖哄潡閾剧綉缁滀腑鏈変笁绫昏妭鐐� `鍏辫瘑鑺傜偣` `鍚屾鑺傜偣` `杞昏妭鐐筦 <br> 涓嬮潰璇︾粏浠嬬粛鍚勭被鍨嬭妭鐐圭殑绠$悊鎿嶄綔銆�<br> 涔熷彲浣跨敤 [SDK](../dev/SDK.md) 寮€鍙戣嚜瀹氫箟绠$悊宸ュ叿銆� ## 鐩綍 - [鍏辫瘑鑺傜偣](#consensusNode) - [鍔犲叆缃戠粶](#addConsensusNode) - [閫€鍑虹綉缁淽(#delConsensusNode) - [鏇存柊鍏辫瘑鑺傜偣鐨� NodeID](#updateConsensusNodeId) - [鍚屾鑺傜偣](#syncNode) - [寮€濮嬪悓姝(#startSync) - [鍋滄鍚屾](#stopSync) - [閾鹃厤缃甝(#chainConfig) <span id="consensusNode"></span> ### 鍏辫瘑鑺傜偣 - [鍔犲叆缃戠粶](#addConsensusNode) - [閫€鍑虹綉缁淽(#delConsensusNode) - [鏇存柊鍏辫瘑鑺傜偣鐨� NodeID](#updateConsensusNodeId) <span id="addConsensusNode"></span> #### 鍔犲叆缃戠粶 ##### BFT绫�(TBFT銆丮axbft)鍏辫瘑銆丷AFT鍏辫瘑 鍏充簬鏂板鑺傜偣鐨勫叿浣撴搷浣滅ず渚嬶紝鍙傝€僛鏋勯€犳柊鑺傜偣鍔犲叆缃戠粶](./鍏稿瀷鍦烘櫙绀轰緥.md) 濡傛灉鏂板鍏辫瘑鑺傜偣鎵€灞炵殑缁勭粐鏍硅瘉涔︿笉瀛樺湪涓庡尯鍧楅摼缃戠粶涓紝閭d箞璇峰厛鍙傝€僛璇佷功绠$悊](./璇佷功绠$悊.md)鑾峰緱璇佷功鍚庯紝浠庣1姝ュ紑濮嬨€�<br> 浠ュ垱寤烘柊缁勭粐wx-org5.chainmaker.org涓轰緥锛屽叿浣撴楠ゅ涓�: - 1.[浣跨敤cmc娣诲姞缁勭粐鏍硅瘉涔(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.addOrgRootCA) - 2.鍑嗗鐗╂枡鍖咃紝鍚姩鑺傜偣绋嬪簭锛岀瓑寰呰妭鐐瑰悓姝ヨ嚦鏈€鏂伴珮搴﹀尯鍧� ```sh 1. 澶嶅埗閮ㄧ讲鍖� $ cd build/release $ cp -rf chainmaker-v2.0.0-wx-org1.chainmaker.org chainmaker-v2.0.0-wx-org5.chainmaker.org 2. 鎶奵hainmaker-v2.0.0-wx-org5.chainmaker.org/bin涓嬫墍鏈夌殑.sh鑴氭湰涓墍鏈墂x-org1.chainmaker.org鏇挎崲涓簑x-org5.chainmaker.org 3. 閲嶅懡鍚� $ cd build/release/chainmaker-v2.0.0-wx-org5.chainmaker.org/config $ mv wx-org1.chainmaker.org wx-org5.chainmaker.org 4. 浣跨敤chainmaker-cryptogen鐢熸垚鐨剋x-org5.chainmaker.org涓嬬殑node鍜寀ser鍒嗗埆瑕嗙洊鎺塩hainmaker-v2.0.0-wx-org5.chainmaker.org/config/wx-org5.chainmaker.org/certs涓嬬殑node鍜寀ser 5. 淇敼chainmaker.yml 鎶奵hainmaker-v2.0.0-wx-org5.chainmaker.org/config/wx-org5.chainmaker.org/chainmaker.yml涓墍鏈墂x-org1.chainmaker.org鏇挎崲涓簑x-org5.chainmaker.org 淇敼net妯″潡锛屾妸 listen_addr: /ip4/0.0.0.0/tcp/11301 淇敼涓� listen_addr: /ip4/0.0.0.0/tcp/11305 淇敼rpc妯″潡锛屾妸 port: 12301 淇敼涓� port: 12305 淇敼monitor妯″潡锛屾妸 port: 14321 淇敼涓� port: 14325 淇敼pprof妯″潡锛屾妸 port: 24321 淇敼涓� port: 24325 6. 淇敼chainmaker-v2.0.0-wx-org5.chainmaker.org/config/wx-org5.chainmaker.org/chainconfig/bc1.yml涓殑trust_roots妯″潡銆� 鎶婃墍鏈� ../config/wx-org1.chainmaker.org 淇敼涓� ../config/wx-org5.chainmaker.org 7. 鍚姩鑺傜偣 $ cd build/release/chainmaker-v2.0.0-wx-org5.chainmaker.org/bin $ ./start.sh 8. 閫氳繃鏃ュ織瑙傚療鑺傜偣鍚屾鐨勫尯鍧楅珮搴� $ cd build/release/chainmaker-v2.0.0-wx-org5.chainmaker.org/log $ tail -f system.log | grep "commit block \[" ``` - 3.[浣跨敤cmc娣诲姞涓哄叡璇嗚妭鐐筣(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.addConsensusNodeOrg) ##### DPoS 鍏辫瘑 鍥犱负銆怌hainmaker v1.2.0+銆戠殑DPoS鍩轰簬璇佷功浣撶郴鏋勫缓鐨勶紝鎵€浠ワ紝褰撴坊鍔犳柊鐨勫叡璇嗚妭鐐规椂锛岄渶瑕佸厛浣跨敤鍛戒护灏嗘柊鑺傜偣娣诲姞鍒拌瘉涔︿綋绯讳腑銆� 濡傛灉鏂板鑺傜偣宸茬粡娣诲姞鍒伴摼涓婄殑璇佷功浣撶郴锛岃浠庣3姝ュ紑濮嬨€�<br> 鍏蜂綋姝ラ濡備笅: - 1.[浣跨敤cmc娣诲姞缁勭粐鏍硅瘉涔(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.addOrgRootCA) - 2.鍑嗗鐗╂枡鍖咃紝鍚姩鑺傜偣绋嬪簭锛岀瓑寰呰妭鐐瑰悓姝ヨ嚦鏈€鏂伴珮搴﹀尯鍧楋紙鍏蜂綋鎿嶄綔瑙佷笂鑺傦級 - 3.[浣跨敤cmc娣诲姞鍏辫瘑鑺傜偣](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.addConsensusNodeOrg) - 4.[浣跨敤宸ュ叿浠庢柊鐢ㄦ埛璇佷功璁$畻鐢ㄦ埛鐨勫湴鍧€](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.addrFromCert) - 5.[浣跨敤ERC20鐨勭鐞嗗憳璇佷功鍚戞柊澧炶妭鐐圭殑鐢ㄦ埛鍦板潃澧炲彂鏉冪泭](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposMint) - 6.[鏌ヨ鏂板鑺傜偣鐨勭敤鎴峰湴鍧€鐨勮处鎴蜂綑棰漖(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposBalanceOf) - 7.[鍦╯take鍚堢害涓缃柊鑺傜偣鐨勭嚎涓奍D](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposSetNodeID) - 8.[鏌ヨ鏂拌妭鐐圭殑绾夸笂ID](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposGetNodeID) - 9.[鏂拌妭鐐归€氳繃鎶垫娂鍙樹负鍊欓€変汉鍙備笌鍏辫瘑](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposDelegate) <span id="delConsensusNode"></span> #### 閫€鍑虹綉缁� ##### BFT绫�(TBFT銆丮axbft)鍏辫瘑銆丷AFT鍏辫瘑 鍏蜂綋姝ラ濡備笅: - 1.[浣跨敤cmc鍒犻櫎鍏辫瘑鑺傜偣](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.delConsensusNodeId) - 2.鍋滄鑺傜偣绋嬪簭 ```shell $ kill -15 <鑺傜偣绋嬪簭pid> ``` ***娉�** * 閫€鍑虹綉缁滄椂锛屽鏋滆鍒犻櫎缁勭粐鏍硅瘉涔︼紝鍒欏繀椤诲厛鍒犻櫎鍏辫瘑鑺傜偣锛屾墠鑳藉垹闄ょ粍缁囨牴璇佷功銆� ##### DPoS鍏辫瘑 - 1.[鏌ヨ缃戠粶楠岃瘉浜鸿妭鐐圭殑鏈€灏戞姷鎶兼暟閲忚姹俔(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposMinSelfDelegation) - 2.[鏌ヨ楠岃瘉浜烘暟鎹甝(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposValidatorInfo) - 3.[瑙i櫎鍏辫瘑鑺傜偣鐨勬姷鎶糫(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.dposUndelegate) - 4.鍋滄鑺傜偣绋嬪簭 ```shell $ kill -15 <鑺傜偣绋嬪簭pid> ``` <span id="updateConsensusNodeId"></span> #### 鏇存柊鍏辫瘑鑺傜偣鐨� NodeID 浣跨敤cmc鏇存柊鍏辫瘑鑺傜偣鐨� NodeID 鍚庯紝鏃犻渶閲嶅惎鑺傜偣绋嬪簭銆�<br> 鍏蜂綋姝ラ濡備笅: - 1.[浣跨敤cmc鏇存柊鍏辫瘑鑺傜偣鐨� NodeID](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.updateConsensusNodeId) <span id="syncNode"></span> ### 鍚屾鑺傜偣 - [寮€濮嬪悓姝(#startSync) - [鍋滄鍚屾](#stopSync) <span id="startSync"></span> #### 寮€濮嬪悓姝� 浠ヤ负缁勭粐wx-org1.chainmaker.org鏂板涓€涓悓姝ヨ妭鐐逛负渚嬶紝鍏蜂綋姝ラ濡備笅: - 1.鐢熸垚鍚屾鑺傜偣鐨勮瘉涔� 閫氳繃 [chainmaker-cryptogen](../instructions/璇佷功鐢熸垚宸ュ叿.html#extendCA) 鎴栬€呰嚜寤虹殑 [CA璇佷功鏈嶅姟](./CA璇佷功鏈嶅姟.md) 鐢熸垚鍚屾鑺傜偣璇佷功 - 2.鍚姩鑺傜偣绋嬪簭 ```sh 1. 澶嶅埗閮ㄧ讲鍖� $ cd build/release $ cp -rf chainmaker-v2.0.0-wx-org1.chainmaker.org chainmaker-v2.0.0-wx-org1.chainmaker.org_common2 2. 鎶奵hainmaker-v2.0.0-wx-org1.chainmaker.org_common2/bin涓嬫墍鏈夌殑.sh鑴氭湰涓墍鏈墂x-org1.chainmaker.org鏇挎崲涓簑x-org1.chainmaker.org_common2 3. 閲嶅懡鍚� $ cd build/release/chainmaker-v2.0.0-wx-org1.chainmaker.org_common2/config $ mv wx-org1.chainmaker.org wx-org1.chainmaker.org_common2 4. 鎷疯礉chainmaker-cryptogen鎵╁睍鐢熸垚鐨刢rypto-config/wx-org1.chainmaker.org/node/common2 鍒� chainmaker-v2.0.0-wx-org1.chainmaker.org_common2/config/wx-org1.chainmaker.org_common2/certs/node涓� 5. 淇敼chainmaker.yml 鎶奵hainmaker-v2.0.0-wx-org1.chainmaker.org_common2/config/wx-org1.chainmaker.org_common2/chainmaker.yml涓墍鏈夎矾寰勪腑鍖呭惈鐨剋x-org1.chainmaker.org鏇挎崲涓簑x-org1.chainmaker.org_common2 淇敼node妯″潡锛屾妸 certs/node/consensus1/consensus1.sign.key 淇敼涓� certs/node/common2/common2.sign.key 淇敼node妯″潡锛屾妸 certs/node/consensus1/consensus1.sign.crt 淇敼涓� certs/node/common2/common2.sign.crt 淇敼net妯″潡锛屾妸 certs/node/consensus1/consensus1.tls.key 淇敼涓� certs/node/common2/common2.tls.key 淇敼net妯″潡锛屾妸 certs/node/consensus1/consensus1.tls.crt 淇敼涓� certs/node/common2/common2.tls.crt 淇敼net妯″潡锛屾妸 listen_addr: /ip4/0.0.0.0/tcp/11301 淇敼涓� listen_addr: /ip4/0.0.0.0/tcp/11306 淇敼rpc妯″潡锛屾妸 port: 12301 淇敼涓� port: 12306 淇敼monitor妯″潡锛屾妸 port: 14321 淇敼涓� port: 14326 淇敼pprof妯″潡锛屾妸 port: 24321 淇敼涓� port: 24326 6. 淇敼chainmaker-v2.0.0-wx-org1.chainmaker.org_common2/config/wx-org1.chainmaker.org_common2/chainconfig/bc1.yml涓殑trust_roots妯″潡銆� 鎶婃墍鏈� ../config/wx-org1.chainmaker.org 淇敼涓� ../config/wx-org1.chainmaker.org_common2 7. 鍚姩鑺傜偣 $ cd build/release/chainmaker-v2.0.0-wx-org1.chainmaker.org_common2/bin $ ./start.sh 8. End ``` <span id="stopSync"></span> #### 鍋滄鍚屾 鍋滄鑺傜偣绋嬪簭鍗冲彲鍋滄鍚屾銆�<br> 鍏蜂綋姝ラ濡備笅: - 1.鍋滄鑺傜偣绋嬪簭 ```shell $ kill -15 <鑺傜偣绋嬪簭pid> ``` <!-- <span id="spvNode"></span> ### 杞昏妭鐐筍PV [杞昏妭鐐筍PV璇︾粏鏂囨。](./杞昏妭鐐筍PV浣跨敤.md) --> <span id="chainConfig"></span> ### 閾鹃厤缃� ChainMaker鍖哄潡閾剧綉缁滃湪閮ㄧ讲骞跺惎鍔ㄥ畬鎴愬悗锛屼娇鐢� [cmc](../dev/鍛戒护琛屽伐鍏�.md) 鍛戒护琛屽伐鍏疯繘琛岄摼閰嶇疆鐨勬煡璇€€佹洿鏂般€�<br> 涔熷彲浠ヤ娇鐢� [SDK](../dev/SDK.md) 寮€鍙戣嚜瀹氫箟瀹㈡埛绔繘琛岄摼閰嶇疆鐨勭浉鍏虫搷浣溿€� #### 鏌ヨ绫� - [浣跨敤cmc鏌ヨ閾鹃厤缃甝(../dev/鍛戒护琛屽伐鍏�.html#chainConfig.query) #### 鏇存柊绫� - [浣跨敤cmc鏇存柊鍑哄潡鏃堕棿](../dev/鍛戒护琛屽伐鍏�.html#chainConfig.updateBlockInterval) <br><br>