<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

        Fabric采用Go語言實現(xiàn),因此推薦使用Golang 1.12+版本進行編譯生成fabric-peer、fabric-orderer和fabric-ca等組件的二進制文件,對于區(qū)塊鏈的業(yè)務開發(fā)最好也推薦使用Go語言,因為Fabric雖然支持Java等語言,但是因為支持過程中經(jīng)常有些莫名的Bug,因此推薦使用Go語言。

        Fabric目前采用Docker容器作為鏈碼執(zhí)行環(huán)境,因此即使在本地運行,鏈碼服務器也需要安裝Docker環(huán)境,Docker推薦使用1.18或更新的版本。

        因此建議采用Go+Docker+Fabric的組合,建議都采用最新的正式發(fā)行版本,本文搭建環(huán)境是基于Mac操作系統(tǒng),windows和Linux系統(tǒng)有所差別但大體步驟不變。

      一、Go語言開發(fā)環(huán)境構(gòu)建

        1、Go語言環(huán)境安裝

        首先我們要下載go,直接到Go官方網(wǎng)站進行下載即可,下載地址:https://golang.org/dl/。Mac下載darwin最新版本即可。如:

        當然我們也可以通過brew命令進行安裝:

      brew install go

        安裝完成后可以通過 go version 查看版本:

      $ go version 
      go version go1.15.4 darwin/amd64

        2、環(huán)境變量配置

        在Terminal終端工具上執(zhí)行vim命令進行環(huán)境變量的修改:

       vim ~/.bash_profile

        然后在 .bash_profile 文件末尾添加:

      # GOROOT:是go的安裝目錄
      export GOROOT=/usr/local/go
      # GOPATH:日常開發(fā)的根目錄.
      export GOPATH=/Volumes/work/go-repository
      # GOBIN:是GOPATH下的bin目錄.
      export GOBIN=$GOPATH/bin
      export PATH=$GOBIN:$PATH

        執(zhí)行source命令使上面環(huán)境變量生效:

      source ~/.bash_profile

        如果是zshell編輯器,請執(zhí)行:

      source ~/.zshrc

        然后重啟Terminal,輸入 go env 命令查看更新的環(huán)境變量:

      $ go env
      GO111MODULE=""
      GOARCH="amd64"
      GOBIN="/Volumes/work/go-repository/bin"
      GOCACHE="/Users/houjing/Library/Caches/go-build"
      GOENV="/Users/houjing/Library/Application Support/go/env"
      GOEXE=""
      GOFLAGS=""
      GOHOSTARCH="amd64"
      GOHOSTOS="darwin"
      GOINSECURE=""
      GOMODCACHE="/Volumes/work/go-repository/pkg/mod"
      GONOPROXY=""
      GONOSUMDB=""
      GOOS="darwin"
      GOPATH="/Volumes/work/go-repository"
      GOPRIVATE=""
      GOPROXY="https://proxy.golang.org,direct"
      GOROOT="/usr/local/go"
      GOSUMDB="sum.golang.org"
      GOTMPDIR=""
      GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
      GCCGO="gccgo"
      AR="ar"
      CC="clang"
      CXX="clang++"
      CGO_ENABLED="1"
      GOMOD=""
      CGO_CFLAGS="-g -O2"
      CGO_CPPFLAGS=""
      CGO_CXXFLAGS="-g -O2"
      CGO_FFLAGS="-g -O2"
      CGO_LDFLAGS="-g -O2"
      PKG_CONFIG="pkg-config"
      GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/qj/7g6cxp596b93yqm5v8z3k05c0000gn/T/go-build675742331=/tmp/go-build -gno-record-gcc-switches -fno-common"

        可以看到GOPATH和GOBIN都已生效。

        3、安裝IDEA插件

        因為IDEA也支持go語言的開發(fā),只是需要安裝插件而已,在Configre里選擇plugins。

        

        然后進入pulgins搜索go,選擇插件類型為language,然后點擊install。

         

        安裝完成后會提示重啟IDEA,重啟即可。

        4、新建Go項目輸出Hello World

        我們先了解下Go項目的目錄:

      • |--bin     //存放編譯后的可執(zhí)行文件;
      • |--src     //存放項目源文件

         點擊+project進行新的項目創(chuàng)建,新建項目窗里選中左側(cè)欄的Go,并在右上方選擇Go版本,然后點擊下一步。

        

        在src下創(chuàng)建項目hello項目。  

        

        然后創(chuàng)建文件hello.go,并錄入代碼:

      package hello
      
      import (
          "fmt"
      )
      
      func SayHello(){
          fmt.Printf("hello! gogogogo.")
      }

        注意,最好就是 hello.go中的package名和目錄中包文件名一致,文件名可以隨便。package表示該文件所屬的包。要使該包中的函數(shù)或者變量被其他包所使用時,命名必須以大寫字母開頭!大寫開頭表示為公共變量,小寫開頭為私有變量

        接下來繼續(xù)在src下創(chuàng)建項目main-go項目。

         

         然后創(chuàng)建文件main.go,添加代碼:

      package main
      
      import "hello"
      
      func main() {
          hello.SayHello()
      }

        此時整體目錄結(jié)構(gòu)為:

        

        然后右鍵選中main.go, 選擇Run 'go build main.go'執(zhí)行main文件。

        

         于是得到結(jié)果:

      GOROOT=/usr/local/go #gosetup
      GOPATH=/Volumes/work/go-repository #gosetup
      /usr/local/go/bin/go build -o /private/var/folders/qj/7g6cxp596b93yqm5v8z3k05c0000gn/T/___go_build_main_go 
      /Volumes/work/go-repository/src/main-go/main.go #gosetup /private/var/folders/qj/7g6cxp596b93yqm5v8z3k05c0000gn/T/___go_build_main_go hello! gogogogo. Process finished with exit code 0

        也可以執(zhí)行g(shù)o install main-go,于是就得到一個main-go的UNIX可執(zhí)行文件:

        

         雙擊執(zhí)行會得到一樣的結(jié)果:

      # kosamino @ HoudeMacBook-Pro in ~ [17:28:26] 
      $ /Volumes/work/go-repository/bin/main-go ; exit;
      hello! gogogogo.Saving session...
      ...copying shared history...
      ...saving history...truncating history files...
      ...completed.
      
      [進程已完成]

      2、Docker容器安裝

        1、Docker 安裝

        接下來我們就進行Docker的安裝,macOS 我們可以使用 Homebrew 來安裝 Docker。Homebrew 的 Cask 已經(jīng)支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 來進行安裝:

      $ brew cask install docker
      
      ==> Creating Caskroom at /usr/local/Caskroom
      ==> We'll set permissions properly so we won't need sudo in the future
      Password:          # 輸入 macOS 密碼
      ==> Satisfying dependencies
      ==> Downloading https://download.docker.com/mac/stable/21090/Docker.dmg
      ######################################################################## 100.0%
      ==> Verifying checksum for Cask docker
      ==> Installing Cask docker
      ==> Moving App 'Docker.app' to '/Applications/Docker.app'.
      &#x1f37a;  docker was successfully installed!

        但是我更推薦手動下載安裝,可以直接到Docker官網(wǎng)下載Docker Desktop,下載地址為:https://www.docker.com/get-started

        

        下載完成后,雙擊安裝,可以通過 docker version 查看版本:

      $ docker version          
      Client: Docker Engine - Community
       Cloud integration: 1.0.2
       Version:           19.03.13
       API version:       1.40
       Go version:        go1.13.15
       Git commit:        4484c46d9d
       Built:             Wed Sep 16 16:58:31 2020
       OS/Arch:           darwin/amd64
       Experimental:      false
      
      Server: Docker Engine - Community
       Engine:
        Version:          19.03.13
        API version:      1.40 (minimum version 1.12)
        Go version:       go1.13.15
        Git commit:       4484c46d9d
        Built:            Wed Sep 16 17:07:04 2020
        OS/Arch:          linux/amd64
        Experimental:     false
       containerd:
        Version:          v1.3.7
        GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
       runc:
        Version:          1.0.0-rc10
        GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
       docker-init:
        Version:          0.18.0
        GitCommit:        fec3683
      
      # houjing @ HoudeMacBook-Pro in ~ [18:02:13] 
      $ docker-compose version  
      docker-compose version 1.27.4, build 40524192
      docker-py version: 4.3.1
      CPython version: 3.7.7
      OpenSSL version: OpenSSL 1.1.1g  21 Apr 2020

        2、鏡像加速配置

        鑒于國內(nèi)網(wǎng)絡問題,后續(xù)拉取 Docker 鏡像都是從Docker Hub拉取,十分緩慢,我們可以需要配置加速器來解決,在此我建議配置阿里云的鏡像加速服務器(當然你有其余docker鏡像倉庫地址也可以)。

        如果有阿里云賬號,那么在阿里云控制臺搜索“容器鏡像服務”,如下圖所示可以找到阿里云的官方鏡像倉庫地址:

         

        得到了鏡像源后,就點擊docker選擇Preference,然后進入Docker配置頁面。

        

        然后在配置頁面點擊Docker Engine,就可以看到配置頁面。

        

         然后將如下配置內(nèi)容復制進去,并應用即可。

      {
        "features": {
          "buildkit": true
        },
        "debug": true,
        "experimental": false,
        "registry-mirrors":[
            "你獲取的的鏡像源地址.mirror.aliyuncs.com"
        ]
      }

        然后可以通過 docker info 命令查看是否配置成功。

      $ docker info           
      Client:
       Debug Mode: false
       Plugins:
        scan: Docker Scan (Docker Inc., v0.3.4)
      
      Server:
       Containers: 0
        Running: 0
        Paused: 0
        Stopped: 0
       Images: 3
       Server Version: 19.03.13
       Storage Driver: overlay2
       --------------------中間省略部分內(nèi)容-------------------------
       Experimental: false
       Insecure Registries:
        127.0.0.0/8
       Registry Mirrors:
        https://******.mirror.aliyuncs.com/
       Live Restore Enabled: false
       Product License: Community Engine

        3、Docker容器測試

        鏡像的拉取通過Terminal終端執(zhí)行pull命令。

      # 如果沒有說明版本,默認是latest最新版本。
      docker pull image名字:版本

        當然也可以直接執(zhí)行 docker run命令。

      docker run -d -p 80:80 --name webserver nginx

        如上我們自動執(zhí)行nginx鏡像,我們在瀏覽器搜索localhost就可以看到進入到了nginx界面:

        

         然后我們還可以在Docker Dashboard進行鏡像和已啟動服務的查看,如 Images 中鏡像的管理:

        

         Containers/Apps中進行已啟動App的管理:

        

      3、超級賬Fabric的編譯

         1、代碼拉取

        目前Fabric的官方倉庫托管在GitHub倉庫:https://github.com/hyperledger/fabric

        2、編譯安裝Peer組件

        待補充

        3、編譯安裝Orderer組件

        待補充

        4、編譯安裝ca組件

        待補充

      posted on 2020-11-13 18:21  kosamino  閱讀(2106)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 最新国产精品亚洲| 亚洲av尤物一区二区| 亚洲大尺度一区二区三区| 尹人香蕉久久99天天拍| 十八岁污网站在线观看| 少妇人妻av毛片在线看| 99热国产这里只有精品9| 泸州市| 性欧美暴力猛交69hd| 伊伊人成亚洲综合人网香| 亚洲精品成人片在线观看精品字幕| 日韩av不卡一区二区在线| 国产最新精品系列第三页| 国产高跟黑色丝袜在线 | 99久久国产精品无码| 一级女性全黄久久片免费| 人妻少妇久久中文字幕| 日本一区二区a√成人片| 亚洲最大的熟女水蜜桃AV网站| 久久精品网站免费观看| 国产精品亚洲av三区色| 东方av四虎在线观看| 高清破外女出血AV毛片| 男女一级国产片免费视频| 精品伊人久久久香线蕉| 国内自拍偷拍一区二区三区| 国产午夜福利视频一区二区| 日本又色又爽又黄的a片吻戏| 午夜福利国产盗摄久久性| 亚洲精品日韩在线观看| 日日碰狠狠添天天爽五月婷| 国产午夜精品久久精品电影| 一本一道久久综合狠狠老| 强奷乱码欧妇女中文字幕熟女| 亚洲大尺度无码无码专线| 麻豆成人av不卡一二三区| 亚洲色婷婷一区二区三区| 97人妻天天摸天天爽天天| 91精品蜜臀国产综合久久| 制服丝袜美腿一区二区| 国产精品日日摸夜夜添夜夜添无码|