오류 상황 Hyperledger Fabric Network를 구축하고 'COMPOSE_PROJECT_NAME=net docker-compsoe up -d' 명령어를 통해 도커 컨테이너를 실행시키는 과정에서 Orderer가 계속 꺼지는 상황이 발생했다. 백그라운드에서 실행하지 않고 로그를 정상동작하는 도커컨에티너와 비교해본 결과 Orderer에 TLS가 계속 Warning이 나면서 일정시간이 지나면 Orderer가 종료되었다. 오류 원인 오류원인이 정확하지는 않지만 이전에 다른 Hyperledger Fabric 네트워크를 돌려놓고 컨테이너를 종료한 상태에서 Fabric Network의 이름과 Docker-Compose.yaml파일의 Peer들의 env중 'CORE_VM_DOCKER_HOSTCONFIT_NE..
0. 사전 환경설정 및 필수지식 - Hyperledger Docs를 읽으며 과도한 삽질에 대한 경험이 필요(처음 보면 뭐가 뭔지 모를 수 있음...내가 그랬기 때문에) - Fabric-Samples 설치 후 Requiresments에 대한 툴 및 라이브러리는 설치되어있어야함(Go, Node 등) - Cryptogen을 통한 Key생성 - Docker-compose.yaml 파일 생성 - configtx.yaml에 새로운 Org추가 Adding an Org to a Channel — hyperledger-fabricdocs main documentation Docs » Tutorials » Adding an Org to a Channel Edit on GitHub Adding an Org to a Chan..
1. Hyperledger Fabric Docker-compose.yaml 환경변수 정의 Upgrading your components — hyperledger-fabricdocs main documentation Upgrading your components Audience: network administrators, node administrators For information about special considerations for the latest release of Fabric, check out Upgrading to the latest release of Fabric. This topic will only cover the process for u hyperledger-fabric.re..
cryptogen Cryptogen명령어는 Organization의 키를 생성해 Hyperledger Fabric에서 네트워크 사전 구성 cryptogen — hyperledger-fabricdocs main documentation Docs » Commands Reference » cryptogen Edit on GitHub cryptogen cryptogen is an utility for generating Hyperledger Fabric key material. It is provided as a means of preconfiguring a network for testing purposes. It would normally not be used in the operat hyperledger-..
1. Configtx.yaml 파일 요약 Organizations : 채널의 회원이 될 수 있는 조직, 각 조직에는 채널 MSP를 구축하는 사용되는 암호화 자료에 대한 참조있음 Ordering Service : 어떤 노드가 오더링 서비스를 형성할지 Channel Policies : 파일의 여러 섹션이 함께 작동하기위해 조직이 채널과 상호작용하고, 채널 업데이트를 승인해야하는 조직을 제어하는 정책 Channel Profiles : 프로필은 Orderer 시스템 채널에서 Genesis Block 생성과 조직의 사용채널을 만드는데 사용 2. 사전준비 - configtx.yaml 파일 생성 cd fabric-samples/my-network touch ./configtx/configtx.yaml 3. Confi..
Go 패키지의 매커니즘 패키지 Main Go Lang의 Main패키지는 컴파일러가 공유 라이브러리가 아닌 실행 프로그램으로 만들어 컴파일러가 특별하게 인식패키지를 공유 라이브러리로 만들 때는, Main패키지 및 함수를 사용하면 안됨 package main import "fmt" func main(){ fmt.Println("Hello") } 패키지 생성방법 e.g.GOPATH환경변수 위치 test_go 패키지 생성 패키지 Scope 이름의 첫 문자를 대문자로하면 Public으로 간주되어 [함수, 구조체, 인터페이스, 메소드] 외부에서 호출가능import할때는 폴더를 참조하여 폴더의 파일들의 첫 문자가 대문자인 함수를 호출가능 파일이름 : test.go package test_go import "fmt" ..