블록체인 Hyperledger Fabric 환경 구축 수동 컴파일링으로 네트워크 문제 해결

환경 구축
Fabric의 노드는 Docker 컨테이너를 통해 실행되며 Docker, Docker-Compose 및 Go 로켈을 미리 설치해야 합니다.
Docker 설치
미리 설치된 Docker 삭제
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

교환
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
yum list docker-ce --showduplicates | sort -r

Docker 설치
yum install docker-ce

설치 확인
docker -v

Docker 소스를 변경하거나/etc/docker/daemon을 새로 추가합니다.json
vi /etc/docker/daemon.json
{

"registry-mirrors": ["http://hub-mirror.c.163.com"]

}

Docker 다시 시작
systemctl restart docker.service

공통 Docker 소스 Docker 공식 중국https://registry.docker-cn.com왕이http://hub-mirror.c.163.com중국과학기술대학https://docker.mirrors.ustc.edu.cn아리운https://pee6w651.mirror.aliyuncs.com
Docker-Compose 설치
curl 미리 다운로드 및https 지원
curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

설치 확인
docker-compose -v

Go 로켈
홈페이지에서 대응하는 설치 패키지를 다운로드하다
tar -C /usr/local -xzf go1.12.6.linux-amd64.tar.gz
 vim /etc/profile 
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath
source /etc/profile

버전 확인
go version

Hyperledger Fabric 소스 다운로드
git 설치
yum install git

권장 설치 경로
cd /opt/gopath/src/github.com/hyperledger

창고는 GitHub에서 Gitee로 끌어올렸어요.
git clone https://gitee.com/huiyup/fabric.git

이치대로fabric의scripts 폴더에서bootstrap를 실행합니다.sh 파일은 기본 환경의 구축을 완성할 수 있습니다.그러나 GitHub이 벽에 걸려 curl을 통해 Github 자원을 다운로드하는 것은 매우 느리고 연결을 끊는 경우가 많아 환경 구축에 실패할 수 있다.
bootstrap.sh 작업
bootstrap.sh 작업은fabric-samples를 다운로드하고bin,config 폴더를 다운로드하며fabric-samples 폴더 아래로 이동하여 Docker 이미지를 다운로드하는 것입니다.fabric-samples 다운로드
git clone https://gitee.com/huiyup/fabric-samples.git

bin 디렉토리
configtxgen  configtxlator  cryptogen  discover  fabric-ca-client  idemixgen  orderer  peer

config 디렉토리
configtx.yaml  core.yaml  orderer.yaml

bin과 config는github의 다운로드 주소에서 로컬 다운로드를 사용할 수 있지만 매우 느리다.
bin 디렉터리는 원본 코드를 컴파일하는 방식으로 얻을 수 있습니다.
make release

bin 파일을fabric-sample 폴더로 이동합니다.fabric-ca는 다른 단독 프로젝트로 fabric 프로젝트에 없습니다.git 가져오기fabric-ca 원본 컴파일 생성 fabric-ca-clientbin 폴더에 넣기
git clone https://gitee.com/huiyup/fabric-ca.git
cd fabric-ca
make fabric-ca-client

미러 편집bootstrap 끌어오기sh 파일을 맨 뒤로 당기고 두 줄을 주석하여 Docker 컨테이너를 당기는 기능만 유지합니다.
if [ "$SAMPLES" == "true" ]; then
    echo
    echo "Clone hyperledger/fabric-samples repo"
    echo
#    cloneSamplesRepo
fi
if [ "$BINARIES" == "true" ]; then
    echo
    echo "Pull Hyperledger Fabric binaries"
    echo
#    pullBinaries
fi
if [ "$DOCKER" == "true" ]; then
    echo
    echo "Pull Hyperledger Fabric docker images"
    echo
   pullDockerImages
fi

파일을 실행합니다.다운로드한 후 예시 중의first-network를 이용하여 네트워크 환경이 성공적으로 구축되었는지 테스트합니다
예에서test-network의 스크립트를 직접 수정하여 체인 코드를 배치하기 편리하게 하였다.

좋은 웹페이지 즐겨찾기