Parity 셋팅
설치
Parity용 Docker 이미지 다운로드
docker pull parity/parity:stable
Docker-compose 셋팅
- docker-compose 설치후 아래의 파일을 생성후 내용추가
vi docker-compose.yml
eth_parity_node:
image: parity/parity:stable
volumes:
- $HOME/eth_parity_data:/root/.local/share/io.parity.ethereum
net: "host"
#command: ['--pruning', 'fast' ,'--warp','--chain','ropsten' ]
command : ['--chain','ropsten','--ws-hosts','all','--ws-origins','all','--jsonrpc-cors','all']
parameter | 내용 |
---|---|
eth_parity_node | docker name |
image | 대상 이미지 |
volumes | 도커의 저장되는 내용을 mount함 (source에서의경로):(docker 내부경로) |
net | 도커 내부의 포트를 변경없이 가져옴(port 명령어를 이용해서 매핑도 가능) |
command | parity 실행 명령어 |
- - pruning | Configure pruning of the state/storage trie (fast가 빠름) |
- - warp | 최초 싱크시 속도를 빠르게함 (다른 노드에서 db를 바로 복사 함) |
- - chain | 타겟 네트워크 |
- - ws-hosts | 외부접속용 웹소켓설정 (확인중) |
- - ws-origins | 외부접속용 웹소켓설정 (확인중) |
- - jsonrpc-cors | 외부접속용 json-rpc설정 (확인중) |
Parity -Node 실행
Parity -Node 도커 실행
docker-compose up -d
(참고)도커실행시 sudo 제거
sudo usermod -aG docker ubuntu(그룹 설정)
로그 확인
docker logs [container id]
Parity -Node 도커 접속
sudo docker exec -it [container id] /bin/bash
(/parity/parity로 명령어 실행 가능)
Parity -UI 실행(ssh로 접속)
parity-ui 실행
ssh -L 8545:127.0.0.1:8545 -L 8546:127.0.0.1:8546 -L 8180:127.0.0.1:8180 [<user>@<host>] -vv
[Mac의 경우 <user>@<host> 대신에 .ssh/config에 설정한 이름으로 대처 가능 (윈도우에서는 ??) ]
parity-ui 접속
http://127.0.0.1:8180/
Token 인증
- Parity -Node 도커 접속 한 뒤 [ parity signer new-token ] 실행
- 출력된 Token 값으로 화면에 복사
- http://127.0.0.1:8180 를 재호출 (입력시 자동 리다이렉트가 안됨)
외부 접속 (개선중)
- docker를 설치한 os에 설치
- 프로그램등 외부에서 url 등으로 접속하는 기능
- 직접 접속은 되지 않으며 nginx를 설치후에 접속 해야됨 (현재 포트 충돌등 문제가 있음)
nginx 설치
sudo apt-get install nginx
nginx 설정
- 파일 위치
sudo vi /etc/nginx/sites-enabled/parity.ui
- 파일 내용
-- docker의 host설정에 따른 포트 충돌에 따라서 원래 포트값에 1을 추가
-- ssl 테스트를 위해서 ssl을 추가 하였으나 ssl설정을 다 제거후 listen부분만 활성화 해도 무방함
json-rpc 설정
server {
#listen 18545;
listen 18545 ssl;
ssl on;
ssl_certificate /home/ubuntu/key/test.crt;
ssl_certificate_key /home/ubuntu/key/test.key;
location / {
proxy_pass http://127.0.0.1:8545;
}
}
Web-Socket설정
server {
#listen 18546;
listen 18546 ssl;
ssl on;
ssl_certificate /home/ubuntu/key/test.crt;
ssl_certificate_key /home/ubuntu/key/test.key;
location / {
proxy_pass http://127.0.0.1:8546;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
Parity-ui 설정 (실제사용하지 않음 )
server {
#listen 18180;
# Uncomment for SSL Server
listen 18180 ssl;
ssl on;
ssl_certificate /home/ubuntu/key/test.crt;
ssl_certificate_key /home/ubuntu/key/test.key;
location / {
proxy_pass http://127.0.0.1:8180;
}
}
참고자료
https://qiita.com/Naomasa/items/ba86646f718d8eacb4b7
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository
https://wiki.parity.io/Parity-Wallet
https://stackoverflow.com/questions/3191509/nginx-error-99-cannot-assign-requested-address/3192482