大家好,今天小编来为大家解答区块链 docker这个问题,区块链docker框架搭建很多人还不知道,现在让我们一起来看看吧!
本文目录
CentOS7安装Docker
Docker鏀寔浠ヤ笅鐨凜entOS鐗堟湰锛?br/>CentOS7(64-bit)
CentOS6.5(64-bit)鎴栨洿楂樼殑鐗堟湰
鍓嶆彁鏉′欢
鐩墠锛孋entOS浠呭彂琛岀増鏈腑鐨勫唴鏍告敮鎸?Docker銆?br/>Docker杩愯鍦?CentOS7涓婏紝瑕佹眰绯荤粺涓?4浣嶃€佺郴缁熷唴鏍哥増鏈负 3.10浠ヤ笂銆?br/>Docker杩愯鍦?CentOS-6.5鎴栨洿楂樼殑鐗堟湰鐨?CentOS涓婏紝瑕佹眰绯荤粺涓?4浣嶃€佺郴缁熷唴鏍哥増鏈负 2.6.32-431鎴栬€呮洿楂樼増鏈€?br/>
Docker瑕佹眰CentOS绯荤粺鐨勫唴鏍哥増鏈珮浜?3.10锛屾煡鐪嬫湰椤甸潰鐨勫墠鎻愭潯浠舵潵楠岃瘉浣犵殑CentOS鐗堟湰鏄惁鏀寔Docker銆?br/>
1銆佷娇鐢?sudo鎴?root鏉冮檺鐧诲綍Centos銆?br/>2銆佺‘淇?yum鍖呮洿鏂板埌鏈€鏂般€?br/>
1.鍒涘缓鐩綍鍜岄厤缃枃浠秗edis.conf
濡傛灉鏄樋閲屼簯鏈嶅姟鍣ㄨ繕闇€瑕侀厤缃樋閲屼簯瀹夊叏绛栫暐
鍒版锛宒ocker鍦?CentOS绯荤粺鐨勫畨瑁呭強鐩稿叧浣跨敤瀹屾垚銆?br/>
鏇村springboot/springcloud瀛︿範璧勬簮锛?br/>https://download.csdn.net/download/wiseap/10364359
鏇村鍖哄潡閾惧涔犺祫婧愶細
https://download.csdn.net/download/wiseap/10319848
区块链应用开发找哪家好
鍖哄潡閾炬妧鏈槸閫氳繃2008骞寸敱涓湰鑱紪鍐欑殑棰樹负鈥滄瘮鐗瑰竵锛氬绛夌數瀛愮幇閲戠郴缁熲€濈殑璁烘枃瀹e竷鐨勩€傛湁瓒g殑鏄紝鏈枃娌℃湁涓撻棬浣跨敤鈥滃尯鍧楅摼鈥濊繖涓瘝銆?br/>
鏈枃璁ㄨ鐨勬槸鈥滅函绮圭殑鐢靛瓙鐜伴噾鐗堟湰鈥濓紝鍏朵腑鈥滅綉缁滈€氳繃灏嗕氦鏄撳搱甯屽埌鎸佺画鐨勫熀浜庢暎鍒楃殑宸ヤ綔璇佹槑閾句腑鏉ユ爣璁颁氦鏄撴椂闂达紝鍒涘缓涓€鏉℃棤闇€閲嶅仛璇佹槑鍗冲彲鏇存敼鐨勮褰曗€濆伐浣滅殑鈥濄€?br/>
寮€婧愮殑PT-BSC锛堝尯鍧楅摼瀹夊叏鎺у埗锛夊皢鍖哄潡閾惧畾涔変负鐐瑰鐐圭綉缁滐紝閫氳繃灏嗗畠浠暎鍒楀埌姝e湪杩涜鐨勫熀浜庢暎鍒楃殑宸ヤ綔閲忚瘉鏄庨摼涓潵璁板綍鏃堕棿鎴宠锛屽舰鎴愪笉鑳芥垚涓鸿褰曠殑璁板綍鏀瑰彉鑰屼笉閲嶅仛宸ヤ綔璇佹槑銆傚尯鍧楅摼鍙互琚巿鏉冿紝鏃犳潈闄愭垨娣峰悎浣跨敤銆?br/>
鍙︿竴鏂归潰锛屽垎甯冨紡璐︽湰琚畾涔変负瀵圭瓑缃戠粶锛岃缃戠粶浣跨敤瀹氫箟鐨勫叡璇嗘満鍒舵潵闃叉淇敼鏈夊簭鐨勬椂闂存埑璁板綍搴忓垪銆傚叡璇嗘満鍒跺寘鎷瘉鏄庡埄鐩婏紝鑱斿悎鎷滃崰搴崗璁瓑銆?br/>
鏈€娴佽鐨勫尯鍧楅摼骞冲彴
1.浠ュお鍧?br/>浠ュお鍧婃槸涓€涓紑婧愮殑Blockchain骞冲彴锛岃繍琛屾櫤鑳藉悎绾﹀苟涓哄叾鍒涘缓鎻愪緵缂栫▼宸ュ叿銆傚湪2013骞寸敱VitalikButerin鎻愬嚭鍚庯紝璇ュ钩鍙扮畝鍖栦簡涓嬩竴浠e垎鏁e紡搴旂敤绋嬪簭锛圖Apps锛夊拰鍦ㄧ嚎鍚堝悓鍗忚鐨勫紑鍙戙€?br/>
浠ュお鍧婂厑璁歌璁″拰鍙戣鍔犲瘑璐у竵鍜屽彲浜ゆ槗鐨勬暟瀛椾护鐗屻€傛洿閲嶈鐨勬槸锛屾偍鍙互鍒涘缓鑷繁鐨凞AO锛堟皯涓昏嚜娌荤粍缁囷級锛屼緥濡傦紝涓€涓櫄鎷熺粍缁囷紝閫氳繃鎴愬憳鎶曠エ瑙e喅鍚勭闂銆?br/>
璇ュ钩鍙版彁渚涗簡璁稿鏈夌敤鐨勫姛鑳斤紝鍖呮嫭鍥剧伒瀹屾暣璇█锛屽懡浠よ宸ュ叿锛堝唴缃簬Go锛孋++锛孭ython锛孞ava绛夛級浠ュ強Ethereum閽卞寘锛岃繖鏄渶鍚庝竴涓敮鎸佸拰淇濇姢鍔犲瘑璧勪骇骞剁畝鍖栨櫤鑳藉悎绾︾殑寮€鍙戣€呭彂灞曘€?br/>
2.BigChainDB
BigChainDB鏄竴涓紑婧愮殑鍒嗗竷寮忚处鏈郴缁燂紝涓撲负瀛樺偍澶ч噺鏁版嵁鑰岃璁★紝骞舵敮鎸佸紑鍙戜汉鍛橀儴缃插尯鍧楅摼姒傚康楠岃瘉鍜屽簲鐢ㄧ▼搴忋€?br/>
璇ユ暟鎹簱鎻愪緵鍒嗘暎鎺у埗锛屼綆寤惰繜锛屼笉鍙樻€э紝寮哄ぇ鐨勬煡璇㈠姛鑳戒互鍙婇珮閫熺殑浜嬪姟澶勭悊銆?br/>
璇ョ郴缁熸病鏈夎嚜宸辩殑璐у竵锛屼絾鍏佽鍙戣鍜岃浆璁╀换浣曡祫浜э紝浠e竵鍜屽姞瀵嗚揣甯併€侭igChainDB鏀寔鑷畾涔夋暟瀛楄祫浜у苟鍦ㄤ簨鍔$骇鍒缓绔嬭闂潈闄愩€?br/>
BigChainDB鍩轰簬鑱旈偊鍏辫瘑妯″瀷锛屼竴涓嫢鏈夋姇绁ㄦ潈闄愮殑鑺傜偣鑱旂洘銆侭igChainDB鏀寔鍏叡鍜岀浜虹綉缁滐紝鏈夎澶氱敤渚嬶紝鍖呮嫭鐭ヨ瘑浜ф潈锛屼汉鍔涜祫婧愶紝鏀垮簻鍜屽湡鍦扮櫥璁扮瓑棰嗗煙銆?br/>
姝ゅ锛屾繁鍏ヤ簡瑙f瘮鐗瑰竵锛屼互澶潑鍜孊igchainDB鐨勬瘮杈冦€?br/>
3.BlockchainHyperledgerFabric
BlockchainHyperledgerFabric鏄敱TheLinuxFoundation涓诲姙骞朵簬2016骞村彂甯冪殑鏈€鍙楁杩庣殑Hyperledger椤圭洰涔嬩竴銆侶yperledgerFabric鏄疓o缂栧啓鐨勶紝浣跨敤Docker瀹瑰櫒瀹炵幇鏅鸿兘鍚堢害銆?br/>
璇ュ钩鍙版槸鍩轰簬妯″潡鍖栨灦鏋勬瀯寤哄熀浜庡尯鍧楅摼鐨勮В鍐虫柟妗堢殑鍩虹锛屽苟鏀寔浣跨敤涓€涓垨澶氫釜缃戠粶銆備负浜嗙‘淇濋珮姘村钩鐨勭伒娲绘€э紝鍙潬鎬у拰鍙墿灞曟€э紝HyperledgerFabric鏈€閫傚悎寮€鍙戜紒涓氳В鍐虫柟妗堛€?br/>
鑰冭檻鍒版湁鐢ㄧ殑鍔熻兘锛屽畠鍖呭惈鍏变韩鏈哄瘑淇℃伅鍜屼氦鏄撹儗涔︽斂绛栫殑娓犻亾銆傛澶栵紝浜ゆ槗杩樺寘鎷墍鏈夌缃插悓琛岀殑绛惧悕锛屽苟鎻愪氦缁欒璐湇鍔°€侶yperledgerFabric鏄垱寤烘巿鏉冨尯鍧楅摼鐨勬渶浣冲钩鍙颁箣涓€銆?br/>
4.HyperledgerCello
HyperledgerCello鏄竴涓尯鍧楅摼骞冲彴鍜屾搷浣滅郴缁燂紝涔熸槸Linux鍩洪噾浼氭墭绠$殑Hyperledger椤圭洰涔嬩竴銆侶yperledgerCello鐨勭洰鏍囨槸閫氳繃鍚態lockchain鐢熸€佺郴缁熸彁渚涙寜闇€鈥滃嵆鏈嶅姟鈥濋儴缃叉ā寮忥紝鏈€澶ч檺搴﹀湴鍑忓皯璁捐鍜岀鐞嗗尯鍧楅摼鐨勫伐浣滈噺銆?br/>
HyperledgerCello浣垮紑鍙戜汉鍛樿兘澶熶粠澶村垱寤哄尯鍧楅摼鍗虫湇鍔★紙BaaS锛夊钩鍙帮紝骞剁鐞嗗尯鍧楅摼鐨勭敓鍛藉懆鏈熴€傛洿閲嶈鐨勬槸锛岄€氳繃Cello锛屼粬浠彲浠ュ湪瑁告満锛岃櫄鎷熶簯鍜屽鍣ㄩ泦缇や箣涓婄淮鎶や竴缁勭綉缁滐紙澶ф彁鐞存敮鎸丏ocker锛孲warm鍜孠ubernetes锛夈€?br/>
5.Hyperledger閿娇婀?br/>HyperledgerSawtoothLake鏄竴涓尯鍧楅摼骞冲彴锛屼唬琛ㄦ敮鎸佽鍙拰鏃犺鍙紑鍙戠殑浼佷笟瑙e喅鏂规銆傝骞冲彴甯姪杞欢宸ョ▼甯堟洿杞绘澗鍦板垱寤猴紝閮ㄧ讲鍜岃繍琛屽垎甯冨紡璐︽湰绯荤粺鍜屽簲鐢ㄧ▼搴忋€?br/>
SawtoothLake鏄竴涓敤Python缂栧啓鐨勬ā鍧楀寲濂椾欢锛屾彁渚涙櫤鑳藉悎鍚屾娊璞★紝鍏佽寮€鍙戜汉鍛樹互浠栦滑鎯宠鐨勭紪绋嬭瑷€缂栧啓鍚堝悓閫昏緫銆侶yperledgerSawtooth涓殑浜ゆ槗涓氬姟閫昏緫涓庡叡璇嗗眰鍒嗙銆?br/>
鍏辫瘑鏈哄埗绉颁负缁忚繃鏃堕棿璇佹槑锛圥oET锛夛紝骞朵娇鐢ㄥ唴缃簬鏈€鏂颁竴浠h嫳鐗瑰皵澶勭悊鍣ㄤ腑鐨凷GX鍙俊璁$畻妯″潡銆?br/>
瀵逛簬閿娇婀栨湁寰堝鏈夌敤鐨勫簲鐢ㄣ€備緥濡傦紝鍦ㄤ緵搴旈摼绠$悊鍜屾捣椴滈厤閫佷腑锛屽畠鍙互瑙e喅璇稿椋熺墿鍌ㄥ瓨鏉′欢涓嶅綋锛岄潪娉曟崟鎹炶涓哄拰娴烽矞娆鸿瘓绛夐棶棰樸€?br/>
姝ゅ锛孒yperledgerSawtooth鍙互纭繚鍒涘缓鍜屼氦鎹㈡暟瀛楄祫浜х殑瀹夊叏鍩虹璁炬柦銆備簡瑙d竴涓嬶紝閿娇婀栧強鍏惰В鍐虫柟妗堝浣曞湪涓嶅悓棰嗗煙鍙戞尌浣滅敤銆?br/>
6.Hydrachain
HydraChain鏄疎thereumBlockchain骞冲彴鐨勫紑婧愭墿灞曪紝涓哄紑鍙戝拰閮ㄧ讲璁稿彲鐨勫垎甯冨紡鍒嗙被甯愭彁渚涙敮鎸併€?br/>
HydraChain瀹屽叏鍏煎浠ュお鍧婂崗璁紝骞舵彁渚涗簡涓€涓熀纭€璁炬柦鏉ュ垱寤篜ython涓殑鏅鸿兘鍚堢害銆侶ydrachain鏈夎澶氬伐鍏峰彲浠ョ缉鐭紑鍙戞椂闂村苟鎻愰珮璋冭瘯鍔熻兘銆?br/>
閲嶈鐨勬槸锛孒ydraChain鍙互纭繚楂樻按骞崇殑瀹氬埗锛氱郴缁熺殑鍚勪釜鏂归潰鍙互杞绘澗閰嶇疆浠ユ弧瓒冲鎴风殑闇€姹傘€備緥濡傦紝鍦ㄥ垱寤烘櫤鑳藉悎绾︽椂锛屼氦鏄撹垂鐢紝澶╃劧姘旈檺棰濓紝鍒涗笘鍒嗛厤鍜屽皝閿佹椂闂寸瓑浜嬮」鍙互杞绘澗瀹氬埗銆?br/>
7.Corda
Corda鏄竴涓紑婧愮殑Blockchain骞冲彴锛岀敤浜庢瀯寤鸿鍙殑鍒嗗竷寮忚处鏈郴缁熴€傝椤圭洰鐢盧3鑱旂洘鍒涘缓锛岀粨鍚堜簡澶у瀷閾惰骞跺厑璁哥鐞嗗悇鏂逛箣闂寸殑娉曞緥鍗忚銆?br/>
鍍忓叾浠栧垎甯冨紡鍒嗙被甯愪竴鏍凤紝R3Corda鎻愪緵瀹夊叏鐨勬暟鎹瓨鍌ㄥ拰涓嶅彲鍙樼殑鏁版嵁璁板綍銆傚€煎緱娉ㄦ剰鐨勬槸锛屽彧鏈塁orda鎵嶈兘寮€鍙戜氦浜掓搷浣滅殑鍖哄潡閾剧綉缁滐紝杩欎簺缃戠粶鍦ㄤ弗鏍肩殑闅愮涓繘琛屼氦鏄撱€傜洰鍓嶏紝瀹冨彲鑳芥槸鍞竴涓€涓湁鍙彃鎷斿叡璇嗙殑鍒嗗竷寮忚处鏈钩鍙般€?br/>
8.Multichain
Multichain鏄竴涓紑婧愬垎甯冨紡璐︽湰绯荤粺锛屽熀浜庢瘮鐗瑰竵鍖哄潡閾撅紝涓撲负澶勭悊澶氬竵绉嶉噾铻嶄氦鏄撹€岃璁°€?br/>
璇ュ钩鍙版彁渚涘悇绉嶇骇鍒殑璁块棶鎺у埗鍜屾潈闄愶紝骞跺疄鐜板揩閫熻В鍐虫柟妗堥儴缃层€傚湪Multichain涓紝鍚勭缃戠粶鍙互鍚屾椂鍦ㄤ竴鍙版湇鍔″櫒涓娿€?br/>
9.寮€閾?br/>浣滀负涓€涓紑婧愮殑鍖哄潡閾惧钩鍙帮紝Openchain浠ュ己澶э紝瀹夊叏鍜屽彲鎵╁睍鐨勬柟寮忎负鏁板瓧璧勪骇鐨勫彂甯冨拰绠$悊鑰岃璁°€傝鎶€鏈寘鎷櫤鑳藉悎绾︽ā鍧楋紝缁熶竴鐨凙PI锛屼互鍙婄敱浜庡垎绾ц处鎴风郴缁熺殑澶氱骇鎺у埗鍜岃闂潈闄愩€?br/>
鍦∣penchain涓紝姣忕瑪浜ゆ槗閮借繘琛屼簡鏁板瓧绛惧悕锛堝氨鍍忔瘮鐗瑰竵涓€鏍凤級锛屽叡璇嗘満鍒剁敱鍒嗛儴鍏辫瘑寮曞叆銆備綘搴旇娉ㄦ剰鍒癘penchain鏄厤璐圭殑锛屾墍浠ヤ綘涓嶉渶瑕佽姳閽卞姞瀵嗚揣甯佹潵浣跨敤瀹冦€?br/>
10.閾炬牳蹇?br/>ChainCore鏄竴涓紒涓氱骇鐨勫尯鍧楅摼骞冲彴锛岀敱ChainProtocol鍜岄摼鎺ュ崗璁璁★紝鐢ㄤ簬鍦ㄨ鍙殑鍖哄潡閾剧綉缁滀笂鍙戝竷锛屼紶杈撳拰绠$悊鏁板瓧璧勪骇銆傛澶栵紝璇ュ钩鍙拌繕浣垮紑鍙戜汉鍛樿兘澶熶粠澶村紑濮嬪垱寤洪噾铻嶆湇鍔°€?br/>
鍦ㄨ繛閿佹牳蹇冧腑锛屾湰鍦版暟瀛楄祫浜ф秹鍙婅揣甯侊紝璇佸埜锛岃鐢熷搧锛岀ぜ鍝佸崱鍜屽繝璇氱偣銆傝骞冲彴鎻愪緵鍩轰簬瑙掕壊鐨勬潈闄愯闂鐞嗭紝浠ヤ究鍦ㄧ綉缁滀腑杩愯銆侰hainCore鍏锋湁鑱斿悎鍏辫瘑锛屽苟鎻愪緵鏅鸿兘鍚堝悓鏀寔锛屼氦鏄撻殣绉佸拰澶氶噸绛惧悕甯愭埛鏀寔銆?
Fabric源码分析之Peer链码安装
environment:
fabricv1.4.2
鍦‵abric涓氦鏄撶殑澶勭悊杩囩▼锛屽鎴风灏嗘彁妗堥鍏堝彂閫佸埌鑳屼功鑺傜偣锛岃儗涔﹁妭鐐规鎻愭鐨勫悎娉曟€с€傚鏋滃悎娉曠殑璇濓紝鑳屼功鑺傜偣灏嗛€氳繃浜ゆ槗鎵€灞炵殑閾剧爜涓存椂鎵ц涓€涓氦鏄擄紝骞舵墽琛岃儗涔﹁妭鐐瑰湪鏈湴鎸佹湁鐨勭姸鎬佸壇鏈€?br/>Chaincode搴旇浠呬粎琚畨瑁呬簬chaincode鎵€鏈夎€呯殑鑳屼功鑺傜偣涓婏紝閾剧爜杩愯鍦ㄨ妭鐐逛笂鐨勬矙鐩掞紙Docker瀹瑰櫒锛変腑锛屽苟閫氳繃gRPC鍗忚涓庣浉搴旂殑Peer鑺傜偣杩涜浜や簰锛屼互浣胯chaincode閫昏緫瀵规暣涓綉缁滅殑鍏朵粬鎴愬憳淇濆瘑銆?br/>璇峰姟蹇呭湪涓€鏉hannel涓婃瘡涓€涓杩愯浣燾haincode鐨勮儗涔﹁妭鐐逛笂瀹夎浣犵殑chaincode
鍏朵粬娌℃湁chaincode鐨勬垚鍛樺皢鏃犳潈鎴愪负chaincode褰卞搷涓嬬殑浜ゆ槗鐨勮璇佽妭鐐癸紙endorser锛夈€備篃灏辨槸璇达紝浠栦滑涓嶈兘鎵цchaincode銆備笉杩囷紝浠栦滑浠嶅彲浠ラ獙璇佷氦鏄撳苟鎻愪氦鍒拌处鏈笂銆?br/>ChainCode瑕佸湪鍖哄潡閾剧綉缁滀腑杩愯锛岄渶瑕佺粡杩囬摼鐮佸畨瑁呭拰閾剧爜瀹炰緥鍖栦袱涓楠ゃ€?br/>
閾剧爜鐨勫畨瑁呮秹鍙婂埌3涓湇鍔★紝鍒嗗埆鏄痗lient锛宲eer鑳屼功鑺傜偣鍜孡SCC瀹瑰櫒
涓昏娴佺▼:
浠ヤ笅鏄湪瀹㈡埛绔墽琛?"peerchaincodeinstall..."鐨勪笟鍔℃祦绋嬪浘:
瀹㈡埛绔墽琛岄摼鐮佸畨瑁呭懡浠?
瀹㈡埛绔殑鏁翠釜娴佺▼鍒囧叆鐐逛负fabric/peer/main.go鐨?main鍑芥暟
鐒跺悗缁х画鎵惧埌peer/chaincode/chaincode.go
缁х画鎵惧埌peer/chaincode/install.go鐨?installCmd鍑芥暟锛屽彲浠ョ湅鍑?chaincodeInstall涓轰富瑕佺殑鍏ュ彛鍑芥暟
鎴戜滑杩涘幓鐪嬬湅InitCmdFactory鍋氫簡浠€涔堬紝浣嶇疆鍦?peer/chaincode/common.go
杩斿洖浜?ChaincodeCmdFactory鐨勭粨鏋勪綋锛屽畾涔変负:
鎵惧埌瀹氫箟genChaincodeDeploymentSpec
鍏堢湅getChaincodeSpec,浣嶄簬peer/chaincode/common.go
灏佽杩斿洖ChaincodeSpec缁撴瀯浣?br/>
鍒氭墠鐢熸垚鐨?ChaincodeSpec浣滀负getChaincodeDeploymentSpec鍑芥暟鐨勮緭鍏ュ弬鏁帮紝杩斿洖ChaincodeDeploymentSpec缁撴瀯浣?br/>
CreateInstallProposalFromCDS浣嶄簬protos/utils/proutils.go
璋冪敤createProposalFromCDS
浠庣粨鏋勪綋ChaincodeInvocationSpec鍙互鐪嬪埌鐢ㄦ埛閾剧爜瀹夎闇€瑕佽皟鐢ㄥ埌绯荤粺閾剧爜 lscc
閫氳繃CreateProposalFromCIS=>CreateChaincodeProposal=>CreateChaincodeProposalWithTransient
鍐嶇湅CreateChaincodeProposalWithTxIDNonceAndTransient鍑芥暟
鏈€鍚庤繑鍥?Proposal缁撴瀯浣擄紝瀹氫箟瑙?protos\peer\proposal.pb.go
鍒拌繖閲?install璋冪敤鐨?CreateInstallProposalFromCDS瀹屾瘯锛岃繑鍥?Proposal缁撴瀯浣?br/>鍏崇郴鏈夌偣澶嶆潅锛岀粰鍑轰竴涓被鍥捐兘鐪嬪緱娓呮櫚鐐?br/>
鍥炲埌install锛岀湅GetSignedProposal瀵瑰垰鍒涘缓鐨勬彁妗堢粨鏋勮繘琛岀鍚?br/>鍑芥暟浣嶄簬protos/utils/txutils.go
杩斿洖SignedProposal缁撴瀯浣?瀹氫箟浣嶄簬protos/peer/proposal.pb.go
鎻愭绛惧悕瀹屽悗install璋冪敤ProcessProposal鍙戦€佹彁妗堝埌peer鑺傜偣杩涜澶勭悊锛屽弬鏁板甫浜?SignedProposal缁撴瀯浣?br/>鎺ヤ笅鏉lient绔氨绛夊埌peer鐨?proposalResponse
褰揷lient璋冪敤浜?ProposalResponse娑堟伅灏卞彂閫佸埌peer鑳屼功鑺傜偣,涔熷氨鏄蛋peer鑺傜偣鑳屼功鎻愭娴佺▼.
瑕佺湅瀹夎閾剧爜鍓嶅仛浜嗕粈涔堬紝鐩存帴鐪?peer鑺傜偣鑳屼功鎻愭娴佺▼灏卞ソ銆?br/>
鎴戜滑浠?core/endorser/endorser.go鐨?callChaincode=>Execute鍑芥暟寮€濮嬭
鍦?core/chaincode/chaincode_support.go鎵惧埌Execute
涓昏鐪?Invoke:
鏍规嵁涔嬪墠鐨勪俊鎭紝鎴戜滑璋冪敤鐨勬槸lscc鏉ュ畨瑁呴摼鐮侊紝鎵€浠ュ湪peer鍚姩鐨勬椂鍊欏凡缁忓垵濮嬪寲lscc閾剧爜瀹瑰櫒浜嗭紝鎵€浠ュ洖鐩存帴杩斿洖 handler瀵硅薄锛屽悗闈㈢殑璇彞灏变笉璇翠簡锛屽湪鍚姩閾剧爜瀹瑰櫒鐨勭珷鑺傚啀璇︾粏鐮旂┒銆?br/>
鎺ョ潃鎴戜滑鐪?execute鍑芥暟锛岃皟鐢?createCCMessage鍒涘缓涓€涓?ChaincodeMessage缁撴瀯浣撴秷鎭?.Execute璐熻矗鎶婃秷鎭彂閫佸嚭鍘?br/>
鍦?core/chaincode/handler.go鎵惧埌Execute
杩欓噷鍏抽敭鏄?h.serialSendAsync(msg)璇彞锛屽姛鑳芥槸鎶婂寘瑁呭ソ鐨勪俊鎭互grpc鍗忚鍙戦€佸嚭鍘伙紝鐩存帴灏辩瓑杩斿洖缁撴灉浜嗐€?br/>鑷虫Execute璋冪敤鐨?Invoke灏卞湪绛夎繑鍥炵粨鏋滐紝缁撴灉杩斿洖灏辫皟鐢?processChaincodeExecutionResult瀵归摼鐮佺粨鏋滆繘琛屽鐞?br/>
peer鍙戦€佺殑淇℃伅鍝幓浜嗗憿锛?br/>鎴戜滑瀹氫綅鍒?code/chaincode/shim/chaincode.go,鎴戜滑鐪嬪埌涓や釜鍏ュ彛鍑芥暟Start鍜?StartInProc锛?Start涓虹敤鎴烽摼鐮佺殑鍏ュ彛鍑芥暟锛岃€?StartInProc鏄郴缁熼摼鐮佺殑鍏ュ彛鍑芥暟锛屼粬浠悓鏃堕兘璋冪敤浜?chatWithPeer,鍥犱负鎴戜滑璋冪敤鐨勬槸lscc锛屽氨鐪?StartInProc
chatWithPeer灏辨槸寮€鍚痝rpc鐨勬帴鏀舵ā寮忓湪绛夊埌鑺傜偣鍙戞潵淇℃伅锛屾帴鏀跺埌淇℃伅鍚庡氨璋冪敤handleMessage澶勭悊淇℃伅銆?br/>
鍥犱负鎴戜滑淇℃伅绫诲瀷涓?ChaincodeMessage_TRANSACTION,鎵€浠ユ垜浠湪 core/chaincode/shim/handler.go椤虹潃handleMessage=>handleReady鎵庡埌handleTransaction
鍏朵腑鍏抽敭璇彞res:=handler.cc.Invoke(stub),杩欒鍙ユ槸璋冪敤鐩稿簲閾剧爜鐨?Invoke鍑芥暟锛屾墍浠ユ垜浠壘鍒?core/scc/lscc/lscc.go涓嬬殑Invoke鍑芥暟
杩涘幓core/scc/lscc/lscc.go鐨?Invoke鍑芥暟鍙互鐪嬪埌锛岃繖閲屾湁"INSTALL","DEPLOY","UPGRADE"绛夋搷浣滐紝鎴戜滑鍙湅INSTALL閮ㄥ垎銆?br/>鍏抽敭璋冪敤鍑芥暟鏄?executeInstall
鎺ョ潃鐪?executeInstall
HandleChaincodeInstall涓哄鐞唖tatedb锛岃€?PutChaincodeToLocalStorage鏄妸閾剧爜鏂囦欢瀹夎鍒版湰鍦版枃浠剁洰褰?br/>閾剧爜瀹夎鍒皃eer鐨勯粯璁よ矾寰?/var/hyperledger/production/chaincodes
鍒版閾剧爜鐨勫畨瑁呭畬姣?br/>
lscc閾剧爜瀹夎瀹屾瘯鍚庯紝杩斿洖淇℃伅缁檖eer鑺傜偣锛宲eer鑺傜偣灏辩粰鎻愭鑳屼功杩斿洖缁檆lient鏈嶅姟绔紝鑷虫閾剧爜瀹夎瀹屾瘯銆?br/>
github
鍙傝€?
5-ChainCode鐢熷懡鍛ㄦ湡銆佸垎绫诲強瀹夎銆佸疄渚嬪寲鍛戒护瑙f瀽
fabric婧愮爜瑙h銆恜eerchaincode銆戯細瀹夎閾剧爜
Fabric1.4婧愮爜瑙f瀽锛氬鎴风瀹夎閾剧爜
go语言主学哪个方面
Go语言目前在云计算、容器虚拟化、分布式存储、网络爬虫、运维开发、Web开发、服务端开发、区块链、IoT等领域都有所应用。
服务端开发
以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;
爬虫及大数据
Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理;
网络编程
大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的net/http包十分的优秀;
Paas云平台领域
Kubernetes和DockerSwarm等;
分布式存储领域
etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
区块链领域
区块链里面有两个明星项目以太坊和fabric都使用Go语言;
容器虚拟化
大名鼎鼎的Docker就是使用Go语言实现的。
Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。Go语言由Google公司开发,并于2009年开源,相比Java/Python/c等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
基于SpringCloudAlibaba货币交易系统项目
https://www.bilibili.com/video/BV1h34y187d3?spm_id_from=333.999.0.0
椤圭洰绠€浠?br/>
寮€婧愭暟瀛楄揣甯佷氦鏄撴墍锛屽熀浜嶫ava寮€鍙戠殑姣旂壒甯佷氦鏄撴墍,鍖呭惈BTC浜ゆ槗鎵€銆丒TH浜ゆ槗鎵€銆佹暟瀛楄揣甯佷氦鏄撴墍銆佷氦鏄撳钩鍙般€佹挳鍚堜氦鏄撳紩鎿庣瓑鏍稿績妯″潡銆傞」鐩妧鏈噰鐢ㄤ笟鐣屾渶娴佽銆佺ぞ鍖洪潪甯告椿璺冪殑寮€婧愮粍浠禨pringCloudAlibaba鏉ユ瀯寤烘垜浠殑浜ゆ槗绯荤粺锛屾槸琛屼笟绗竴瀹跺熀浜嶢libaba鎶€鏈殑澶у瀷椤圭洰锛屼篃鏄疭pringCloud鐨勬渶浣冲疄璺典箣涓€銆?br/>
瀛︿範瀹屾湰椤圭洰锛屽ぇ瀹跺皢瀵逛簯鏋舵瀯銆佸尯鍧楅摼銆佹硶瀹氭暟瀛楄揣甯併€侀噾铻嶇鎶€浠ュ強璐у竵鍙戝睍鏈夎嚜宸辨洿娣卞叆鐨勮璇嗗拰鐞嗚В锛屼负浠ュ悗20骞翠腑鍥紺DBD鐨勭爺绌跺拰鍙戝睍浣滃嚭鑷繁鐨勮础鐚紝鍚屾椂涔熶负浜夊彇40w鐨勫勾钖鍔犱竴浠藉彲闈犵殑鎶€鏈繚闅滐紒
閫傚悎瀵硅薄
鍦ㄨ亴绋嬪簭鍛樼殑鑷垜鎻愬崌
鏈塖pringCloud/SpringCloudAlibaba鍩虹鐨勫鍛?br/>
鏈塚ue/React鐨勫熀纭€鐨勫鍛?br/>
鏈塳8s/Docker杩愮淮鍩虹鐨勫鍛?br/>
鎶€鏈€夊瀷
SpringCloudAlibaba+SpringBoot+Tio+Jenkins+Maven+Jetcache+Disruptor+Redis+RocketMQ+Mongodb+Jenkins+Docker+Kubernetes
瑙e喅鏂规
鏍稿績鍔熻兘妯″潡
鍚庡彴绠$悊绯荤粺
鍓嶅彴绯荤粺
椤圭洰鎴浘
鍚庡彴绠$悊绯荤粺
鍓嶅彴绯荤粺
椤圭洰鏋?https://www.bilibili.com/video/BV1gZ4y1G7Kf鏋?br/>
鎾悎寮曟搸
好了,关于区块链 docker和区块链docker框架搭建的问题到这里结束啦,希望可以解决您的问题哈!
推荐阅读区块链 票据 区块链票据是什么
区块链 区块大小?区块链区块大小
区块链 基础厂商(区块链基础技术)
区块链 货物全周期,区块链 货物全周期运作
区块链 平台 功能 区块链 平台 功能分析
区块链 黄金交易所?区块链 黄金交易所排名
区块链 人民银行(区块链人民银行)
区块链 税务(区块链 税务局)