Ubuntu 기본 환경을 설치하는 스크립트 파일

    • installBasicUtils.sh : 기본 유틸 설치(build-essential, make, curl, unzip, g++, libtool)
    • installGitClient.sh : Git Client 설치
    • installGo.sh : Go 언어 설치 및 실행 테스트(버전 1.10)
    • installNodeJS.sh : Node.JS 설치(버전 선택: 8.x / 6.x)
    • installJava.sh : Java 설치(JDK 버전 8)
    • installDocker.sh : Docker & Docker Compose(버전 1.11.2) 설치
    • installAll.sh : 모든 도구들을 한 번에 설치

Ubuntu Settings 기본 설정

Ubuntu Settings 프로젝트를 다운받기 위해, Git Client를 수동으로 설치하고 프로젝트를 다운로드합니다.

설치 경로는 홈 디렉토리로 설정합니다.


# Git Client 설치

sudo apt update && sudo apt upgrade -y

sudo apt-get install git -y



한 번에 모든 도구 설치

모든 도구들을 한 번에 설치

 ./installAll.sh


개별적으로 도구 설치

# 기본 유틸 설치

./installBasicUtils.sh


# Git Client 설치

./installGitClient.sh


# Go 언어 설치 및 실행 테스트(버전 1.10)

./installGo.sh


# Node.JS 설치(버전 선택: 8.x / 6.x)

./installNodeJS.sh


# Java 설치(JDK 버전 8)

./installJava.sh


# Docker & Docker Compose(버전 1.11.2) 설치

./installDocker.sh

 


installALL.sh

#! /bin/bash

# 이 프로그램은 bash를 기반으로 실행됩니다.


# 기본 유틸 설치

./installBasicUtils.sh

sleep 3


# Git Client 설치

# ./installGitClient.sh

# sleep 3


# Go 언어 설치 및 실행 테스트(버전 1.10)

./installGo.sh

sleep 3


# Node.JS 설치(버전 선택: 8.x / 6.x)

./installNodeJS.sh

sleep 3


# Java 설치(JDK 버전 8)

./installJava.sh

sleep 3


# Docker & Docker Compose(버전 1.11.2) 설치

./installDocker.sh

sleep 3


# 시스템 재시작

reboot

 


installBasicUtils.sh

#! /bin/bash

# 이 프로그램은 bash를 기반으로 실행됩니다.


# 패키지 갱신 및 업그레이드

echo "###################### Update & upgrade ubuntu packages ######################"

sudo apt update && sudo apt upgrade -y


# 기본 유틸 설치

echo

echo "######################## Install some basic utilities ########################"

sudo apt-get install -y build-essential make curl unzip g++ libtool


echo

echo



installGitClient.sh

#! /bin/bash

# 이 프로그램은 bash를 기반으로 실행됩니다.


# 패키지 갱신 및 업그레이드

echo "###################### Update & upgrade ubuntu packages ######################"

sudo apt update && sudo apt upgrade -y


# git client 설치

echo

echo "############################# Install Git Client #############################"

sudo apt-get install git -y


echo

echo



installGo.sh

#! /bin/bash

# 이 프로그램은 bash를 기반으로 실행됩니다.


# go언어 설치 파일 다운로드 경로: /opt

cd /opt


# go 언어(1.10 버전) 다운로드

echo "############################# Install Go lang(version 1.10) #############################"

sudo wget https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz

sudo tar -C /opt -xzf go1.10.linux-amd64.tar.gz

sudo rm -rf go1.10.linux-amd64.tar.gz


# go workspace 디렉토리 생성

echo

echo "############################# Create go workspace directory #############################"

cd /opt

#gopath는 프로젝트 통일

sudo mkdir -vp gopath/{src,pkg,bin}

#소유권 변경

sudo chown -R $(id -un):$(id -un) gopath

#기본 디렉토리 생성

cd gopath/src

mkdir github.com

cd github.com

mkdir hyperledger

cd hyperledger


# GOPATH 설정

echo

echo "#################################### Setting GOPATH ####################################"

sudo echo '

export GOPATH="/opt/gopath"

export GOROOT="/opt/go"

export PATH=$GOROOT/bin:$GOPATH/bin:$PATH' >> /etc/profile

source /etc/profile


# Go언어 설치 완료 테스트

echo

echo "####################### Check the Go lang is installed correctly ########################"

#gopath에 hello 폴더 생성

cd /opt/gopath/src && mkdir hello

cd hello

#go파일 작성

echo 'package main


import "fmt"


func main() {

    fmt.Printf("hello, world\n")

}' > $(pwd)/hello.go

# 빌드 및 실행 파일 실행 >> "hello, world"라는 문구가 출력되어야 함

sudo apt install golang-go

go build

./hello


echo

echo



installNodeJS.sh

#! /bin/bash

# 이 프로그램은 bash를 기반으로 실행됩니다.


function selectVersion () {

    echo "select the version of NodeJS to install."

    select var in "version 8.x" "version 6.x" "Exit"

    do

        if [ "$var" = "version 8.x" ]

        then

            echo "############################## Install NodeJS(version 8.x) ##############################"

            curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

            break

        elif [ "$var" = "version 6.x" ]

        then

            echo "############################## Install NodeJS(version 6.x) ##############################"

            curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

            break

        elif [ "$var" = "Exit" ]

        then

            exit 1

        else

            echo "invalid response..."

            selectVersion

        fi

    done

}


# NodeJS 설치 - 버전 선택

selectVersion


sudo apt-get install -y nodejs

sudo apt-get install -y build-essential


# global 설치를 위한 설정

mkdir ~/npm-global-modules && npm config set prefix '~/npm-global-modules' && echo "export PATH=~/npm-global-modules/bin:\$PATH" >> ~/.profile && source ~/.profile


echo

echo

 



installD
ocker.sh

#! /bin/bash

# 이 프로그램은 bash를 기반으로 실행됩니다.


# Docker 설치

echo "#################################### Install Docker ####################################"

sudo apt-get install \

    apt-transport-https \

    ca-certificates \

    curl \

    software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository \

   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \

   $(lsb_release -cs) \

   stable"

sudo apt-get update

sudo apt-get install docker-ce

sudo docker run hello-world

# 사용자에게 Docker 명령어 처리 가능하게 권한 부여

sudo usermod -a -G docker $(id -un)

# Docker 버전 확인

docker version


# Docker Compose - 1.11.2 설치

sudo curl -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version


echo

echo



ins
tallJava.sh

#! /bin/bash

# 이 프로그램은 bash를 기반으로 실행됩니다.


# 패키지 갱신 및 업그레이드

echo "########################### Update & upgrade ubuntu packages ############################"

sudo apt update && sudo apt upgrade -y


# Java 설치

echo "############################## Install Java(JDK version 8) ##############################"

sudo apt-get install -y openjdk-8-jdk maven

wget https://services.gradle.org/distributions/gradle-2.12-bin.zip -P /tmp --quiet

sudo unzip -q /tmp/gradle-2.12-bin.zip -d /opt && rm /tmp/gradle-2.12-bin.zip

sudo ln -s /opt/gradle-2.12/bin/gradle /usr/bin


echo

echo

 


 

본 블로그 중 '[블록체인] 하이퍼레저 > [하이퍼레저] 공식문서 번역본 ' 하위의 포스팅된 글은

하이퍼레저 패브릭 공식 사이트의 ' release-1.1'의 doc  부분을 번역한 자료 입니다.

 

스터디를 하면서 1차 번역후 포스팅 한 것으로 잘못 번역된 부분이 있습니다.

월간, 블록체인 멤버들이 시간날때 조금씩 짬짬히  번역을 손보고 있으니..

너그러이 이해해주시고..

이점 참고하여 보시기 바랍니다.

 

또한 포스팅 순서가 목차와 동일하지 않아  이해가 어려울 수 있으므로

아래의 목차를 참조하여 포스팅글을 보시면 하이퍼레저 패브릭 문서를 보시는데 도움이 되시리라 생각합니다.

(아래 목차에 본 블로그의 포스팅과 링크를 걸어두었습니다.)

 

 

HyperLedger Fabric Table of Contents


1. Getting Started

Install Prerequisites
Install Binaries and Docker Images
Hyperledger Fabric Samples
API Documentation
Hyperledger Fabric SDKs
Hyperledger Fabric CA


2. Key Concepts

Introduction
Hyperledger Fabric Functionalities
Hyperledger Fabric Model
Identity
Membership

Peers
Ledger
Use Cases


 

3. Tutorials

Building Your First Network
Writing Your First Application
Adding an Org to a Channel
Upgrading Your Network Components
Chaincode Tutorials
Chaincode for Developers
Chaincode for Operators
System Chaincode Plugins
Videos

 

4. Operations Guides

Upgrading from v1.0.x
Updating a Channel Configuration
Membership Service Providers (MSP)
Channel Configuration (configtx)
Endorsement policies
Error handling
Logging Control
Securing Communication With Transport Layer Security (TLS)
Bringing up a Kafka-based Ordering Service

 

5. Commands Reference

peer command
peer chaincode
• peer channel
peer version
peer logging
peer node
configtxgen
configtxlator
Cryptogen Commands
Fabric-CA Commands

 

6. Architecture Reference

Architecture Explained
Transaction Flow
Hyperledger Fabric CA’s User Guide
• Hyperledger Fabric SDKs
Channels
Capability Requirements
CouchDB as the State Database
Peer channel-based event services
Read-Write set semantics
Gossip data dissemination protocol

 

7. Hyperledger Fabric FAQ

Endorsement

• Security & Access Control

Application-side Programming Model

Chaincode(Smart Contracts and Digital Assets)

Differences in Most Recent Releases


8. Ordering Service FAQ

General

Solo

Kafka
BFT
 

 

9. Contributions Welcome!

10.Glossary

 

 

Fabric CA User’s Guide

 

 

출처 : http://hyperledger-fabric.readthedocs.io/en/release-1.1/#


출처 : https://blockchain-fabric.blogspot.com/2017/04/hyperledger-fabric-v10-block-structure.html

+ Recent posts