티스토리 뷰
[Hyperledger Indy Docs] Indy Node: 13. Dev Setup
miiingo 2020. 2. 19. 15:37이 글은 Hyperledger Indy의 공식 문서를 번역한 것입니다.
원본 사이트 : https://hyperledger-indy.readthedocs.io/projects/node/en/latest/setup-dev.html
개발자를 위한 환경 및 프로젝트 설정을 도와주는 스크립트가 있습니다. 스크립트는 dev-setup 폴더에 있습니다.
참고: 현재로서는 Ubuntu용 스크립트만 제공합니다. 코드가 Windows에서 작동한다고 보장할 수 없습니다.
- 코드로 작업하려면 Python 3.5가 필요합니다.
- 개발을 위해 Python 가상 환경을 사용하는 것이 좋습니다.
- 단위 및 통합 테스트에 pytest를 사용합니다.
- 코드를 실행하기 전에 설치해야 할 일부 종속성(dependency)이 있습니다.
Quick Setup on Ubuntu 16.04: (Ubuntu 16.04에서의 빠른 설정)
깨끗한 Ubuntu 16.04 시스템에서 개발하기 위한 빠른 설정입니다. 아래 언급된 스크립트를 보고 수동으로 설정을 수행할 수도 있습니다.
- dev-setup-ubuntu에서 스크립트 가져오기
- setup-dev-python.sh를 실행하여 Python3.5, pip 및 virtualenv를 설정하십시오.
- source ~/.bashrc를 실행하여 가상 환경 wrapper 설치를 적용하십시오.
- setup-dev-depend-ubuntu16.sh를 실행하여 종속성(libindy, libindy-crypto, libsodium)을 설정하십시오.
- indy-plenum 및 indy-node를 포크(fork)하십시오.
- 프로젝트의 대상 폴더로 이동
- init-dev-project.sh <github-name> <new-virtualenv-name>을 실행하여 indy-plenum 및 indy-node 프로젝트를 복제하고 작동할 virtualenv를 작성하십시오.
- 새로운 virtualenv 활성화 workon <new-virtualenv-name>
- [선택 사항] Pycharm 설치
- [선택 사항] Pycharm에서 프로젝트를 오픈 및 구성:
- 하나의 창에서 indy-plenum과 indy-node를 모두 엽니다.
- File -> Settings로 이동
- 방금 생성된 virtualenv를 사용하도록 프로젝트 Interpreter 구성
- Project: <name> -> Project Interpreter로 이동
- 오른쪽 탭에 indy-plenum 및 indy-node 프로젝트가 표시됩니다. 그들 각각에 대해:
- "Project Interpreter" 드롭 다운 옆에 있는 프로젝트를 클릭하면 하나의 설정 아이콘이 표시됩니다.
- "Add Local"을 선택합니다.
- 다음과 같이 기존 virtualenv 경로를 선택하십시오: /bin/python3.5 예: /home/user_name/.virtualenvs/new-virtualenv-name>/bin/python3.5
- 프로젝트 종속성(Dependency) 구성
- Project: <name> -> Project Dependencies로 이동
- 각 프로젝트가 다른 프로젝트에 종속되도록 표시
- pytest 구성
- Configure Tools -> Python Integrated tools로 이동
- 오른쪽 탭에 indy-plenum 및 indy-node 프로젝트가 표시됩니다. 그들 각각에 대해:
- 'Default test runner'에서 Py.test를 선택하십시오.
- Apply를 누르십시오.
Detailed Setup (세부 설정)
Setup Python(Python 설정)
코드로 작업하려면 Python 3.5가 필요합니다. dev-setup/ubuntu/setup_dev_python.sh 스크립트를 사용하여 Ubuntu에 Python 3.5, pip 및 가상 환경을 빠르게 설치하거나 아래의 자세한 지침을 따를 수 있습니다.
Ubuntu
- sudo add-apt-repository ppa:deadsnakes/ppa 실행
- sudo apt-get update 실행
- Ubuntu 14의 경우, sudo apt-get install python3.5 실행(python3.5는 대부분의 Ubuntu 16 시스템에 사전 설치되어 있으며 그렇지 않은 경우에도 설치합니다.)
CentOS/Redhat
sudo yum install python3.5 실행
Mac
(생략)
Windows
(생략)
Setup Libsodium(Libsodium 설정)
Indy는 또한 멋진 암호화 라이브러리인 libsodium에 의존합니다. 이들은 별도로 설치해야합니다.
Ubuntu
- 패키지 관리자와 함께 libsodium을 설치해야합니다. 일반적으로 기본적으로 활성화되어 있지 않은 패키지 저장소가 필요합니다. 선호하는 편집기(sudo 사용)를 이용해 /etc/apt/sources.list 파일을 검사하십시오. Ubuntu 16에서는 deb http://us.archive.ubuntu.com/ubuntu xenial main universe이라는 줄을 찾고 있습니다. Ubuntu 14에서는 deb http://ppa.launchpad.net/chris-lea/libsodium/ubuntu trusty main 및 deb-src http://ppa.launchpad.net/chris-lea/libsodium/ubuntu trusty main을 찾거나 추가하십시오.
- sudo apt-get update 실행. Ubuntu 14에서 사용할 수 없는 공개 키에 대한 GPG 오류가 발생하면 이 명령을 실행한 다음 apt-get update를 다시 시도하십시오: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B9316A7BC7917B12
- libsodium 설치. 버전은 배포판 버전에 따라 다릅니다. Ubuntu 14에서는 sudo apt-get install libsodium13을 실행하십시오; Ubuntu 16에서는 sudo apt-get install libsodium18을 실행하십시오.
CentOS/Redhat
sudo yum install libsodium-devel 실행
Mac
(생략)
Windows
(생략)
Setup Indy-Crypto(Indy-Crypto 설정)
Indy는 Indy-Crypto에 의존합니다.
Ubuntu에서 사용할 수 있는 libindy-crypto의 deb 패키지가 있습니다:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
sudo add-apt-repository "deb https://repo.sovrin.org/deb xenial master"
sudo apt-get update
sudo apt-get install libindy-crypto
다른 플랫폼에 설치하는 방법에 대해서는 Indy-Crypto를 참조하십시오.
Setup RocksDB(RocksDB 설정)
Indy는 빠른 저장을 위해 내장 가능한 영구 key-value 저장소인 RocksDB에 의존합니다.
현재 Indy에는 RocksDB 버전 5.8.8 이상이 필요합니다. Ubuntu 16.04에서 사용할 수 있는 RocksDB-5.8.8의 deb 패키지 및 관련 항목이 있습니다(Indy-Crypto 설치 단계가 완료된 경우 repository 구성 단계를 건너 뛸 수 있음):
# Start of repository configuration steps
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
sudo add-apt-repository "deb https://repo.sovrin.org/deb xenial master"
# End of repository configuration steps
sudo apt-get update
sudo apt-get install libbz2-dev \
zlib1g-dev \
liblz4-dev \
libsnappy-dev \
rocksdb=5.8.8
다른 플랫폼에 설치하는 방법은 RocksDB를 참조하십시오.
Setup Libindy(Libindy 설정)
Indy는 테스트 종속성으로 Libindy가 필요합니다.
우분투에서 사용할 수 있는 libindy의 deb 패키지가 있습니다:
sudo add-apt-repository "deb https://repo.sovrin.org/sdk/deb xenial stable"
sudo apt-get update
sudo apt-get install -y libindy
다른 플랫폼에 설치하는 방법에 대해서는 Libindy를 참조하십시오.
Using a virtual environment(recommended) (가상 환경 사용(권장))
Indy를 사용해 볼 수 있는 새로운 Python 가상 환경을 만드는 것이 좋습니다. 가상 환경은 시스템의 기본 Python 환경(변경 가능) 및 생성한 다른 가상 환경과 격리된 Python 환경입니다.
다음을 통해 새로운 가상 환경을 만들 수 있습니다:
virtualenv -p python3.5 <name of virtual environment>
그리고 다음을 통해 활성화하십시오:
source <name of virtual environment>/bin/activate
선택적으로 다음과 같이 가상 환경 wrapper를 설치할 수 있습니다:
pip3 install virtualenvwrapper
echo '' >> ~/.bashrc
echo '# Python virtual environment wrapper' >> ~/.bashrc
echo 'export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3' >> ~/.bashrc
echo 'export WORKON_HOME=$HOME/.virtualenvs' >> ~/.bashrc
echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.bashrc
source ~/.bashrc
새로운 가상 환경을 만들고 사용하여 활성화 할 수 있습니다
mkvirtualenv -p python3.5 <env_name>
workon <env_name>
Installing code and running tests(코드 설치 및 테스트 실행)
가상 환경을 활성화하십시오.
소스의 root 디렉토리(각 프로젝트에 대한)로 이동하여 다음으로 필요한 패키지를 설치하십시오.
pip install -e .[tests]
indy-plenum 및 indy-node로 작업하는 경우 두 프로젝트가 모두 pypi가 아닌 -e 옵션으로 설치되어 있는지 확인하십시오(init-dev-project.sh에서 순서를 확인하십시오).
테스트가 있는 폴더(indy-plenum, indy-node/indy_node, indy-node/indy_client 또는 indy-node/indy_common)로 이동하여 테스트를 실행하십시오.
pytest .
'Blockchain > Hyperledger Indy' 카테고리의 다른 글
- Total
- Today
- Yesterday
- Hyperledger Fabric v1.1
- 어서와 데이터는 처음이지
- 하이퍼레저 인디
- 직딩잇템
- 알고리즘
- 코테
- Private Data
- 하이퍼레저 패브릭
- Hyperledger Indy
- 빅데이터 강의
- ubuntu
- 빅데이터 교육
- 빅데이터 기초
- javascript
- 문제풀이
- Hyperledger Fabric v1.2
- docker
- 하이퍼레저 페브릭
- 암브로셔스
- ambrosus
- Blockchain
- 코딩테스트
- 기초 of 기초 데이터 개념
- 블록체인
- 블록 체인
- 코딜리티
- 빅데이터
- Hyperledger Fabric
- DOCs
- codility
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |