블록체인 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-client
bin 폴더에 넣기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의 스크립트를 직접 수정하여 체인 코드를 배치하기 편리하게 하였다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
요구사항 정의요구사항 정의 작성 방법 개요 ・목적 표시되고 있는 텍스트를 가변으로 한다 · 과제 표시된 텍스트가 변경되지 않음 ・해결 표시되고 있는 텍스트가 가변이 된다 사양 · 표시 정의 각 편집 화면 ○○ 표시되고 있는 텍스...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.