Wietse의 허락하에 전문 번역하여 포스팅합니다.
원문은 밑에서 보시면 됩니다.
https://medium.com/@WietseWind/how-to-run-a-ripple-validator-digitalocean-7e5fca1c3d77
의역이 좀 많이 들어가고 사용된 이미지나 텍스트중 지금과 맞지 않는 이미지들은 제가 수정하였습니다.
DigitalOcean에서 리플 벨리데이터 운영하기
벨리데이터를 운영하여 리플 XRP랫져와 분산화에 기여하고 싶으신가요? Docker 호스트가 있으시다면 바로 이미지를 받아보세요.
만약 서버가 없으시거나 하나 운영 하고싶으시면 다음 스텝들을 따라하여 DigitalOcean에서 매월 $40달러에 운영해보세요. 10분이면 벨리데이터 운영이 가능합니다.
1. DigitalOcean에 가입
DigitalOcean은 세계 각지에 서버를 둔 클러우드 서버 운영자 입니다. 좋은 성능의 서버를 저렴한 가격에 제공하고 있습니다. 만약 가입하면서 저에게 (Wietse) 도움을 주고 싶으시다면 이 추천인 링크를 통해 가입해 주세요. (제 MDBK는 이곳...) 도움을 주고 싶지 않으시다면 바로 https://www.digitalocean.com/ 으로 가셔서 가입하시면 됩니다. (돈을 바라고 포스팅 하지 않았습니다 - Wietse)
2. 새 서버 만들기 (“Droplet”)
벨리데이터 서버를 운영하기 위해 리플 회사에서 배포하는 'rippled' 프로그램과 초기 설정을 도와주기위한 스크립트들이 포함된 Docker container 를 사용할 것 입니다.
밑에 그림처럼 오른쪽 상단에 있는 버튼을 눌러 “Droplet” 을 만드세요.
그다음 “One-click apps” 이라는 탭을 선택해서 “Docker XX.YY~ on …” 을 선택합니다.(이 사진에는 Docker 17.12.0"ce on 16.04)
DigitalOcean 에서는 “One-click apps”이라고 불리는 패키지들이 미리 세팅된 서버들을 제공합니다.(워드프레스도 있습니다).”. 이 포스팅에서는 Wietse가 세팅해논 Docker container 를 사용하기 위해 Docker app을 사용합니다. 고로 벨리데이터를 돌리기 위해 여러 머리아프게 여러 명령어들을 치고 할 필요없이 Wietse가 하나의 패키지로 묶어 놨습니다.
데이터 센터와 서버 사이즈
벨리데이터를 운영 하기위해서는 최소 8기가의 메모리가 필요합니다. Standard Droplets에서 8기가 Droplets을 선택합니다.
근처에 있는 데이타 센터를 선택하시고 나머지는 선택 안하시고 밑으로 쭉 내리시면 됩니다. (어떤의미인지 아시고 어떻게 사용하시는지 아시면 선택하셔도 됩니다.). 기본 호스트 네임으로 사용하셔도 되지만 혹시나 나중에 도메인을 가지고 계시고 Ripple Validator Registry에 등록하고 싶으시면 원하는 호스트네임을 넣으시면 됩니다
이제 크고 영롱한 초록빛의 Create 버튼을 눌러주세요 :)
3. 로그인
대략 20초 정도면 서버가 준비됩니다. 랜덤으로 설정된 비밀번호가 이메일로 발송 됩니다. SSH를 이용해 로그인 하여 설정을 마무리 하겠습니다. 리눅스나 맥을 사용하시면 터미널을 열어서 하시면 되고 윈도우라면 Putty를 사용하여 SSH로 접속하면 됩니다.
새로 생성된 서버의 IP주소를 이용하여 접속하시면 됩니다.
SSH는 기본적으로 22번 포트로 연결됩니다. 로그인 username은 root이고 비밀번호는 이메일 주소로 위에 전송된다는 비밀 번호입니다. 리눅스나 맥이면 터미널에서 아래처럼 넣고 접속하시면 됩니다:
ssh root@xxx.xxx.xxx.xxx -p 22
만약 처름 로그인 하시는 거면 Yes를 한번 타입하시고 엔터를 누른다음에 로그인 하셔야 합니다.
Windows 사용자 분들은 IP 주소를 Putty에서 Host Name (or IP address) 부분에 입력하시고 Connection Type “SSH” 그리고 Port 22 (default)로 설정하신 다음에 “Open” 을 누르시면 됩니다. (윈도우즈 10에서 리눅스 bash 사용하기 로 가셔서 리눅스를 윈도우 CMD창에서 사용할수도 있습니다.)
서버 접속을 종료하셨나요? 인터넷 연결이 끊어지셨나요? 위 명령어로 언제든지 다시 접속할수 있습니다.
3.1 스왑 용량 설정하기
(4기가 메모리일때 처음 작성된 글이라 4 기가로 설정 되어있습니다) 4기가 메모리로 서버를 돌리는데 충분할수도 있지만 만약 벨리데이터 서버가 바빠지고 메모리가 부족하게 된다면 스왑 용량을 설정해서 하드의 일정부분을 초과되는(overflow) 메모리로 할당할수 있습니다.
먼저 4기가 스왑 파일을 만듭니다. 4기가가 스왑 용량으로 하드디스크에 할당이 됩니다. 두번째 커맨드( ;
) 는 파일 권한 설정입니다.
fallocate -l 4G /swapfile ; chmod 600 /swapfile
서버에 스왑이 필요하면 사용하라고 설정합니다.
mkswap /swapfile ; swapon /swapfile
영구적으로 스왑파일이 설정되도록 (리부팅 이후에도 계속) 마지막으로 아래 명령어를 입력해 줍니다:
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
4. 컨테이너 만들기
이제 새로운 서버에 로그인 하셨습니다. 생애 첫 서버인 분들도 계시겠지요 🎉. SSH를 이용해 리모트 서버에 명령을 실행할수 있습니다.
이제 실제로 벨리데이터를 만들겠습니다! 아래 명령어를 입력해 주세요:
docker run -dit --name rippledvalidator -p 51235:51235 -v /keystore/:/keystore/ xrptipbot/rippledvalidator
위 명령어의 이해:
- 실행
docker
(컨테이너를 실행하기 위한 프로그램) - Docker 보고 새로운 컨테이너를 실행 하란 명령
run
- Docker 보고
-d
etached ('detached' 백그라운드에서 컨테이너 계속 운용) 그리고it
(-d이후) 만약 나중에 디버깅을 위해 로그인을 할수 있도록 설정. name
컨테이너를rippledvalidator
로 설정 - 이 이름은 이후 컨테이너를 중단하거나 로그기록을 보거나 하는데 중요한 이름입니다.- 포트 51235번을 열고 인터넷에 배포. 포트 51235 는 다른 리플 서버들이 모두 사용하는 포트 번호 입니다.
- 서버에
/keystore/
라는 폴더를 만들고 첨부— 또한 컨터이너에 폴더를 마운팅./keystore/
폴더안에 파일들은 서버와 docker 사이 공유됩니다. - 미리 설정된 패키지로 컨터이너 만들기:
xrptipbot/rippledvalidator
. 모든 사람들이 쉽고 빠르게 벨리데이터를 운영할수 있게 이 패키지는 Wietse가 만들었습니다.
Docker 는 곧 컨테이너 이미지를 다운받아서 벨리데이터를 시작할껍니다. 🍻
자동으로 계속 프로그램이 돌아갈꺼기에 로그아웃을 하거나 다시 로그인을 해도 벨리데이터를 실행하기위해 다시 명령어를 치실 필요가 없습니다.
5. Show me the candy
이제 벨리데이터가 돌아가고 있습니다. XRP ledger의 거래들을 검증하기 시작했는데 뭔가 느끼시는게 있나요?
아무것도 안보여주고 그냥 도스 화면 처럼만 나와서 아마도 아무것도 못느끼실 꺼에요. 그럴땐 밑에 명령어를 터미널에 입력해 주세요!
docker logs -f rippledvalidator
벨리데이터가 실시간으로 처리하는 것들을 보여 줍니다. 벨리데이터 시작해서 다른 벨리데이터와 접속하고 거래 장부(렛져)를 받고 검증하고 기타등등..
Control C
를 눌러 로그 보는걸 취소 해주세요.
처음 시작할때 벨리데이터는 우리의 민증 처럼 사인 메세지와 자신을 증명하는 공개키와 개인키 "Identity 신분" 를 만듭니다. 이것은 아래 명령어를 통해 볼수 있습니다:
cat /keystore/validator-keys.json
validator-keys.json
파일 안에있는 것들이 터미널에 표시될겁니다. 소문자 n으로 시작하는 "public_key"
란이 있는데(secret_key는 절대로 다른곳에 공유하지 마세요!!) 이걸 복사하여 Rippled Validator Registry 에서 확인 가능합니다: 처음 벨리데이터 시작하고약 15분 후에 키가 표시될껍니다. 여러분들은 이제 XRP 생태계에 기여하고 있습니다. (you are now a contributor to the XRP ecosystem!)
6. 이제는…
이제 다음으로는:
- 보안이나 성능 개선 (방화벽, 클러스터링, etc.)
- 다른 벨리데이터들과 그룹을 이루어 각자의 검증된 벨레데이터 리스트에 등록
- 도메인 등록 (이후 Rippled Validator Registry 에 표시)
… 그러나.. 다음번 기회로 넘기겠습니다.
지금까지 읽어주셔서 감사합니다!