1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          長安鏈詳解

          來源:互聯網轉載 時間:2024-01-29 07:52:41

          1. 項目集介紹

          代碼地址:https://git.chainmaker.org.cn/users/chainmaker/projects(賬號需要注冊)

          長安鏈項目集合.png

          1) chainmaker-go

          長安鏈底層核心代碼,由rpc接口、交易池、共識、合約引擎等模塊構成,也是各區塊鏈平臺的核心優勢點,也是我們判斷其平臺能力的主要評估點??傊痪湓?灰常重要。

          2) chainmaker-explorer chainmaker-explorer-web

          區塊鏈瀏覽器,可用來展示區塊鏈的鏈個數、區塊高度、區塊內容、部署的合約個數、總交易數等等,相當于對整個區塊鏈系統的profile,由于我們還沒有進行深入研究,先放上一張對比照片fabric的~

          對比照片.png

          2) chainmaker-cryptogen

          根據配置文件生成證書體系,該內容需要系統講解,簡單來講:區塊鏈系統不認識你,只認識密碼學,你只能用公鑰、證書等來證明你的身份。

          3) chainmaker-docs

          初學者的福音,這里的文章介紹是比較成體系的,由于整個項目在快速迭代,會有描述與代碼版本不相符的地方,但基本不影響我們對他的理解,同時根據commit情況看代碼的Readme是會更新的,當文檔有問題時不妨先讀下所查模塊的Readme。

          4) chainmaker-sdk-java chainmaker-sdk-go

          訪問區塊鏈底層的sdk,可以執行壓縮證書上鏈、合約管理、交易管理、查詢等操作。

          5) chainmaker-common

          長安鏈通用組件庫,chainmaker-go

          會依賴該模塊,由于長安鏈大部分模塊都是用golang寫的,common的高度封裝為其他服務提供基礎服務。也就是chainmaker go 與

          common是依賴關系,在版本管理上使用的是submodule方式管理。

          6) chainmaker-pb

          長安鏈的proto庫,可通過proto文件生成跨語言的rpc調用及統一的數據結構。

          2. 集群部署

          1)筆者軟件環境

          MacOS Catalina 10.15.7

          go1.15

          目前來看長安鏈對于linux系支持的較好,如果有同學使用linux不用擔心兼容性問題。

          2)集群部署

          參照文檔:https://git.chainmaker.org.cn/chainmaker/chainmaker-docs/-/blob/master/ChainMaker_Deploy_Manual.md

          2.1)安裝tmux

          在啟動集群時如果使用非normal方式啟動,則使用tmux命令

          Mac: brew install tmuxundefined Centos:yum install tmux

          2.2)下載源碼

          git clone --recurse-submoduleshttps://git.chainmaker.org.cn/chainmaker/chainmaker-go.gitundefined cd chainmaker-go/toolsundefined git clone --recurse-submoduleshttps://git.chainmaker.org.cn/chainmaker/chainmaker-cryptogen.git

          筆者所用版本chainmaker-go: commit a979e212910450adfa352c4282e807d0ec7bd7be

          2.3)編譯chainmaker-cryptogen

          cd chainmaker-go/tools/chainmaker-cryptogenundefined make

          2.4)生成證書

          cd chainmaker-go/scriptsundefined ./prepare.sh 4 1 ## 參數4代表節點數量(和組織數量一致),1代表鏈數量

          這里如果使用的是Mac電腦會報錯,因為Mac默認的sed版本不是gnu的,這里可以修改一下prepare.sh文件。

          修改位置.png

          修改內容(可復制):

               num=$(sed -n "/seeds/=" $CONFIG_TPL_PATH/chainmaker.yml)
               for ((k = $NODE_CNT; k > 0; k = k - 1)); do
                   sed -i -e "${num} a\
                       - "/ip4/127.0.0.1/tcp/$(($P2P_PORT_PREFIX+$k))/p2p/{org${k}_peerid}"\
                   " node$i/chainmaker.yml
               done

          該操作后,會在 ../build 目錄下生成證書內容以及配置每個節點的配置文件內容。

          2.5)制作部署包

          cd chainmaker-go/scriptsundefined ./build_release.sh

          2.6)啟動集群

          cd chainmaker-go/scriptsundefined ./cluster_quick_start.sh normal #這里與參考鏈接不同,不帶normal參數會使用tmux終端復用能力,這里暫時不需要。

          3. 集群觀察

          3.1) ps -ef | grep chainmaker

          可以看到啟動4個節點,屬于4個組織

          image.png

          3.2) lsof -p 86650 | grep TCP 86650 為org1 節點進程號

          可以看到org1節點啟動3個端口監聽,其中

          • 節點間通信端口:11301
          • 客戶端連接端口:12301
          • 監控端口: 12321

          image.png

          3.3) ledger存儲位置

          默認在`chainmaker-go/build/release/chainmaker-V1.0.0-wx-

          org1.chainmaker.org/data/wx-org1.chainmaker.org`

          3.4) 日志路徑

          默認在chainmaker-go/build/release/chainmaker-V1.0.0-wx-org1.chainmaker.org/log

          4. 部署測試合約

          本次操作按照參考文檔使用cmc工具,后續使用sdk再次操作合約。

          4.1)拷貝crypto-config
          cd chainmaker-go/tools/cmc
          go mod download
          go build
          #拷貝sdk的配置文件和示例里cmc命令行需要使用的文件
          cp -r ../sdk/testdata ./
          rm -rf testdata/crypto-config
          cp -r ../../build/crypto-config testdata/crypto-config
          4.2)安裝合約
          ./cmc client contract user create 
                      --admin-key-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.tls.key 
                      --admin-crt-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/admin1/admin1.tls.crt 
                      --org-id=wx-org1.chainmaker.org 
                      --chain-id=chain1 
                      --client-crt-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/client1/client1.tls.crt 
                      --client-key-file-paths=./testdata/crypto-config/wx-org1.chainmaker.org/user/client1/client1.tls.key 
                      --byte-code-path=../../test/wasm/rust-asset-management-1.0.0.wasm 
                      --contract-name=asset 
                      --runtime-type=WASMER 
                      --sdk-conf-path=./testdata/sdk_config.yml 
                      --version=1.0 
                      --sync-result=true 
                      --params="{"issue_limit":"500000000","total_supply":"1000000000"}"
          4.3)查詢合約
          ./cmc client contract user get 
              --sdk-conf-path ./testdata/sdk_config.yml 
              --contract-name asset --method total_supply

          至此整個集群部署工作結束。

          5. 集群腳本

          在上面的集群操作中涉及三個腳本prepare.sh、build_release.sh、cluster_quick_start.sh,這三個shell腳本通俗易懂,可清楚其證書生成方式及路徑、配置文件生成方式及路徑。

          6. Next

          在實際業務使用中,會通過sdk來調用區塊鏈底層,下節將學習使用tinygo開發智能合約、編譯智能合約,使用go版本的SDK安裝、調用、查詢智能合約。

          標簽:長安鏈-
          上一篇:JsoupJsoup詳解
          下一篇:BEM 簡介

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          qq郵箱上傳超大附件太慢怎么辦?您好,上傳附件的速度應該受到網絡速度的影響,否則可能是您的瀏覽器有問題。您也可以嘗試清除瀏覽器緩存。打開“瀏覽器工具”選項的“Internet屬性”,然后選擇“刪除緩存”。也可以擴展QQ郵箱容量,登錄網頁郵箱,在郵箱首頁右側選擇我的信息郵箱容量。然后單擊“免費擴展”以增加郵箱容量。我希望我能幫助你。非常感謝。發送郵件添加附件老是失敗或者很慢怎么辦?您是否曾經對以下情...

          開發一個app有多難?先說一點,我是前端工程師,所以開發app使用的是H5的東西,不是原生安卓和IOS,當然還有個很火熱的Flutter,雖然沒完全投入使用。所以我以下說的只針對前端的想開發app的朋友。當然我也剛開發了幾個,還有很多經驗不足,如果寫的有問題希望指正。其實我做開發剛剛一年多的時間,說實話我感覺如果只是開發市面上已經有的東西,還是相對容易的,現在有很多成熟的框架,有很不錯的api借鑒...

          麻煩分析一下小學,泡桐樹小學西區,青羊實驗附???的家長們,你們好。泡小西區和青陽實驗小學都是爆炸嚴重的小學。今年26個班,跑小溪區17個班,青陽實驗小學12個班。而且這三所小學都在青羊區5中,對應的初中搖號結果完全一樣。因為它們都爆炸了,教師可以 我跟不上。個人覺得三個學校沒什么區別。順序必須是炮西、、青陽附小。你要根據最好的性價比來選擇最好砍價的房子。如果你在看習字香河 的房子,家庭和。;的支付...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>