우분투 서버
설치 분류

Keep Network의 ECDSA & Beacon nodes 구글 클라우드에 설치하기

컨텐츠 정보

본문


Keep Network의 test Keep token으로 ECDSA 및 Beacon nodes를 구글 클라우드에서 직접 구축할 수 있습니다.


다른 가이드와는 다르게 Putty 및 WinSCP 프로그램이 필요없습니다.


완전 초보도 가이드를 따라하기만 해도 자신만의 Node를 구축할 수 있습니다.


따라오세요!



유튜브도 찍어보았어요. 같이 보시면 될 것입니다.


구글 클라우드 셋팅하기 


ccb92ca7b4fcc37ef13a1b4103592536_1601209142_7303.png


https://cloud.google.com


우선 위 링크에 들어가 무료로 시작하기를 누릅니다.



ccb92ca7b4fcc37ef13a1b4103592536_1601209162_9005.png

혹시 윗단계에서 계속을 눌러도 진행이 안된다면


위 링크로 바로 접근하시면 진행이 될 것입니다.

ccb92ca7b4fcc37ef13a1b4103592536_1601209162_9301.png


ccb92ca7b4fcc37ef13a1b4103592536_1601209162_9622.png


ccb92ca7b4fcc37ef13a1b4103592536_1601209162_989.png



ccb92ca7b4fcc37ef13a1b4103592536_1601209216_6106.png
 


위와 같이 개인정보 및 신용카드 인증을 합니다.


신용카드 인증이 안되면 가입이 불가능하니 체크해주세요.


그리고 현재 $300 무료 크레딧의 경우 90일 유효기간이 있으니 이후에 vultr나 다른 곳으로 이전하는 것이 좋을 것입니다. 


비용을 감당할 수 있다면 남는 것도 좋은 선택입니다. (구글 클라우드 $30 정도, vultr나 linode $20)


ccb92ca7b4fcc37ef13a1b4103592536_1601209235_0294.png

위와 같이 왼쪽 위에 햄버거 모양의 아이콘을 누른 후 컴퓨팅에 있는 Compute Engine -> VM 인스턴스를 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209254_791.png


+ 인스턴스 만들기를 누릅니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209268_0594.png


위와 같이 셋팅하는게 제일 저렴하네요 RAM 4GB 기준입니다. 제일 위에 이름은 아무거나 넣어도 됩니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209282_2425.png


그리고 부팅 디스크 변경을 눌러서 위와 같이 Ubuntu 20.04 LTS와 표준 영구 디스크 80GB를 선택하세요.


선택이 완료되었다면 만들기를 누릅니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209297_0811.png

10~20초만 기다리면 위와 같이 바로 생성됩니다.


이제 외부 IP를 고정하러 갑니다.


38a76c990162ebd01384ca7de90de2a4_1601252133_5027.png

위와 같이 왼쪽 위에 햄버거 아이콘을 누른 후 네트워킹 -> VPC 네트워크 -> 외부IP주소를 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209325_4216.png

위와 같이 임시를 누르면 고정이 나오는데 그걸 누릅니다. 


새 고정 IP 주소 예약 -> 이름에 keep, 설명에 아무거나 넣은 후 예약을 누릅니다.


그러면 해당 주소가 고정됩니다.


이제 서버는 완료되었습니다.



노드용 지갑 만들기


https://www.myetherwallet.com/create-wallet


위 링크에 갑니다. 처음에 동의하고 난 다음


ccb92ca7b4fcc37ef13a1b4103592536_1601209399_7332.png

위와 같이 By Keystore File탭을 누른 후 비밀번호를 넣고 Next를 누릅니다.


이 비밀번호가 지갑의 비밀번호입니다. 마지막에 쓰입니다. 꼭 기억하세요!!!


ccb92ca7b4fcc37ef13a1b4103592536_1601209409_1856.png

위와 같이 Download Keystore File을 누르면 UTC--2020~~~~로 시작되는 파일이 자동으로 다운받아집니다.


적당한 곳에 저장합니다.



메타마스크에 지갑 연결하기


구글 크롬에


https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn


위 링크를 클릭하여 메타마스크 확장 프로그램을 설치합니다.


메타마스크 접속 비밀번호는 여기서만 쓰입니다. 마지막에 SSH 작업할때 넣으면 무조건 실패하니 이 비번은 절대 SSH 작업할때 넣는게 아닙니다.


물론 지갑 비밀번호와 메타마스크 비밀번호가 같다면 상관없지만요. 


이 비번은 지갑 비밀번호가 아닙니다. 메타마스크 비번입니다.


6fbb16323680d41d84769f9e56d58dfb_1603546910_3782.png
 

위와 같이 크롬 웹브라우저의 오른쪽 위에 메타마스크 아이콘을 누른 후 동그라미가 있는 그림을 누릅니다.


메타마스크를 처음 설치했다면 비번 생성 등이 필요할 수 있습니다. (거기까진 안할게요..)


그리고 네트워크를 Ropsten 테스트넷으로 바꿔주세요! 굉장히 중요합니다.


6fbb16323680d41d84769f9e56d58dfb_1603546957_6961.png
 

위와 같이 계정 가져오기를 누릅니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209466_7581.png

위와 같이 형식 선택에서 JSON 파일을 선택하고, 파일 선택을 눌러서 아까 만들었던 UTC--2020~~으로 시작한 파일을 선택합니다.


그리고 비밀번호를 입력 후 밑에 있는 가져오기를 누릅니다.


이 비밀번호가 마지막에 쓰이는 비밀번호입니다. 무조건 기억하세요.


6fbb16323680d41d84769f9e56d58dfb_1603546983_7554.png
 

위와 같이 가져온 지갑이 보일 것입니다. 


참고로 여기서 확실히 해두어야 할 것이 있습니다.


메타마스크를 처음 설치시 자동으로 이더리움 지갑이 생성됩니다. 이것은 무시하세요! 전혀 쓸 일이 없습니다.


MEW에서 생성한 지갑 및 지갑 주소가 제일 중요합니다.


꼭 확인하세요!


그리고 오른쪽 위에 점세개 아이콘을 누르면


6fbb16323680d41d84769f9e56d58dfb_1603547011_0967.png
 

위와 같이 계정 상세보기를 눌러봅니다.


6fbb16323680d41d84769f9e56d58dfb_1603547040_6778.png
 

위와 같이 지갑의 이름을 변경할 수 있습니다. 변경했다면 오른쪽에 체크표시를 클릭해야 저장이 됩니다.


그리고 지갑 주소를 알 수 있습니다.


밑에 지갑 주소를 복사해서 메모장에 복사해두세요. 앞으로 메모장에 저장할 것이 있으므로 항상 열어둡니다.


이 지갑 주소가 MEW 지갑주소이며, 이더리움 지갑 주소입니다.


마지막에 SSH 접속해서 작업하는 이더리움 지갑 주소도 바로 이 주소입니다.


이제 지갑 셋팅까지 완료했습니다.



KEEP 테스트 토큰 받기


https://us-central1-keep-test-f3e0.cloudfunctions.net/keep-faucet-ropsten?account=


위 링크를 복사해서 웹브라우저에 붙여넣기 합니다.


그리고 아까 복사한 지갑 주소를 뒤에 붙여넣습니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209563_4612.png

위와 같이 만들면 되겠죠? 그리고 엔터를 누릅니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209571_9529.png

위와 같이 30만 KEEP test token이 발급된 것을 볼 수 있습니다.



이더리움 테스트 토큰 받기


https://faucet.metamask.io/ 


위 링크에서 받을 수 있습니다.


접속 후 메타마스크 확장 프로그램을 클릭하면 페이지가 새로고침됩니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209607_7955.png

그리고 위와 같이 request 1 ether from faucet을 누르면 메타마스크가 열립니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209623_5402.png

위와 같이 자신의 주소를 확인하고 다음을 누릅니다. 그리고 연결을 누릅니다.


그러면 밑에 transactions가 생기고 트랜섹션 내용을 누르면 1ETH가 들어온 것을 확인할 수 있습니다.


9e8b57b298607182dfd206c8a9c70317_1602484359_68.png


그리고 위 버튼을 4번 더 누르면 총 5개까지 받을 수 있습니다.



또한 dimensions network​에서도 받을 수 있습니다.


https://faucet.dimensions.network/ 


위 링크에 들어가서


9e8b57b298607182dfd206c8a9c70317_1602484470_1218.png
 

위 주소 넣는 칸에 MEW에서 생성한 지갑의 주소를 붙여넣고 Send Ropsten ETH를 누르면 5개가 들어옵니다.



KEEP 토큰 스테이킹을 위한 작업


https://dashboard.test.keep.network/tokens


위 링크로 들어가서 


ccb92ca7b4fcc37ef13a1b4103592536_1601209641_9363.png

위와 같이 MetaMask를 누릅니다. 혹시 Cannot read property 'enable' of undefined 라는 내용이 나오면


메타마스크 아이콘을 한번 눌러준 후 새로고침한 뒤에 다시 눌러보세요.


ccb92ca7b4fcc37ef13a1b4103592536_1601209656_6823.png

위와 같이 팝업이 뜨면 다음을 누릅니다. 그리고 연결을 누릅니다.


전 여기서 접속이 안되더라구요. 그래서 마이크로소프트 엣지 브라우저에서 메타마스크 깔아서 지갑 연동하니 되네요.


ccb92ca7b4fcc37ef13a1b4103592536_1601209670_1985.png

위와 같이 접속이 되면 성공입니다. 그리고 Granted Tokens의 MANAGE를 누릅니다. 


ccb92ca7b4fcc37ef13a1b4103592536_1601209684_3327.png

위와 같이 Token Amount에 300000 을 입력하고, Address 3개에 자신의 keep 지갑주소를 넣습니다.


그리고 DELEGATE STAKE를 누릅니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209704_6272.png

위와 같이 DELEGATE 라고 타이핑합니다. 그리고 DELEGATE를 클릭합니다.


메타마스크 팝업이 뜨고 승인합니다. 조금만 기다리면 메타마스크에서 승인되었다고 나옵니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209725_947.png

위와 같이 30만개가 스테이킹되고 있는 것을 볼 수 있습니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209737_1523.png

위와 같이 왼쪽 메뉴에서 APPLICATIONS -> Random Beacon을 클릭합니다.


그리고 AUTHORIZE를 클릭합니다. 메타마스크 팝업이 뜨면 바로 승인을 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209756_4715.png

위와 같이 왼쪽 메뉴에서 APPLICATIONS -> tBTC를 클릭합니다.


그리고 AUTHORIZE가 2개가 있는데 둘다 클릭한 후, 메타마스크 팝업이 뜨면 바로 승인을 클릭합니다.


스샷에는 PENDING이라고 나와있는데, AUTHORIZE 클릭 후 메타마스크 팝업에서 승인을 누르면 바로 PENDING으로 바뀝니다.


트랜섹션이 모두 Success가 되면, 이제 이더리움을 본딩해야 합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209777_198.png

위와 같이 Success가 다 뜨면, ADD ETH 버튼을 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209793_5491.png

위와 같이 0.5를 입력하고 ADD ETH 버튼을 클릭합니다. 


처음에는 0.5이더로 충분하고, 나중에 더 많이 본딩해야된다고 합니다.


메타마스크 팝업이 뜨면 바로 승인을 눌러줍니다.



Infura 계정 생성하기


https://infura.io/register


위 링크로 가서 계정을 생성합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209818_686.png

위와 같이 이메일과 비번을 넣고 이메일 인증하면 생성되네요. 이미 계정이 있다면 밑에 Log In을 누르면 됩니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209832_2523.png

위와 같이 제일 위의 내용을 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209848_1357.png

위와 같이 Beacon node를 넣고 CREATE를 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209859_9896.png

위와 같이 ENDPOINTS를 MAINNET에서 ROPSTEN으로 변경합니다.


반드시 바꿔야 됩니다. 바꾸지 않으면 노드 돌릴 때 에러가 납니다.


바로 밑에 



https://ropsten.infura.io/v3/12341234123412341234121234
wss://ropsten.infura.io/ws/v3/1234123412341234124124


위와 같이 나오는 내용을 메모장에 저장합니다. 이것이 Beacon node의 Endpoints입니다. 


ccb92ca7b4fcc37ef13a1b4103592536_1601209881_625.png

위와 같이 왼쪽 위에 있는 이더리움 아이콘을 누르면 프로젝트가 나옵니다.


그리고 NEW PROJECT를 누릅니다. 이제 ECDSA node를 만들 것입니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209897_1997.png

위와 같이 ECDSA node를 넣고 CREATE를 누릅니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209909_0574.png

위와 같이 ENDPOINTS를 ROPSTEN으로 변경하고 



https://ropsten.infura.io/v3/12341234123412341234121234
wss://ropsten.infura.io/ws/v3/1234123412341234124124


위와 같은 형식의 주소를 메모장에 저장합니다. 이것이 ECDSA node의 Endpoints입니다.



구글 클라우드 방화벽 열기


우리는 3919, 3920 포트를 열어야 합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209957_3842.png

위와 같이 구글 클라우드로 돌아가서 햄버거 모양의 아이콘을 클릭한 후 네트워킹 -> VPC 네트워크 -> 방화벽을 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209968_6982.png

위와 같이 방화벽 만들기를 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209979_8446.png

위와 같이 셋팅하고 만들기를 클릭합니다. 방화벽까지 완료되었습니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601209997_7709.png

위와 같이 햄버거 아이콘을 누른 후 컴퓨팅 -> Compute Engine -> VM instance를 클릭합니다.



Keystore File 내용 복사하기


본격적으로 SSH 작업을 하기 전에 UTC--2020~~~~로 시작하는 Key store 파일의 내용을 메모장에 복사해야 합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601210033_0915.png

위와 같이 윈도우 탐색기에서 UTC--2020~~으로 시작하는 Keystore 파일을 더블클릭하여 추가앱을 클릭 후 메모장을 선택하고 확인을 누릅니다. 


항상 이 앱을 사용하여 파일을 열기는 체크해제하면 됩니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601210059_3657.png

위와 같이 keystore 파일의 내용이 나옵니다. 이 내용을 메모장에 저장합니다.


이때까지 따라하셨다면, 메모장에는 지갑주소, beacon node 및 ecdsa node의 endpoints 2개씩, 그리고 keystore 파일의 내용물이 있을 것입니다. 모두 필요합니다.



SSH 작업하기


웹 브라우저에는 VM 인스턴스가 떠있을 것입니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601210098_2979.png

위와 같이 SSH를 클릭합니다.


ccb92ca7b4fcc37ef13a1b4103592536_1601210107_7405.png
 

위와 같이 검은 배경의 화면이 나올 것입니다.



sudo apt update -y && sudo apt -y upgrade && sudo apt -y autoremove \
&& sudo apt install nano curl -y \
&& sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - \
&& sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -y \
&& sudo apt update -y \
&& sudo apt install docker-ce docker-ce-cli containerd.io -y \
&& sudo usermod -aG docker $USER \
&& sudo sudo systemctl start docker && sudo systemctl enable docker \
&& sudo ufw allow 22 && sudo ufw allow 3919 && sudo ufw allow 3920 && sudo ufw enable \
&& sudo mkdir -p beacon/persistence ecdsa/persistence \
&& sudo docker --version;


위 내용을 모두 복사 후, 검은 배경의 화면에 컨트롤 + v로 붙여넣기 한 후 엔터를 칩니다.



Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Docker version 19.03.13, build 4484c46d9d


위와 같이 물어보는데 y, 엔터 누르면 됩니다. 마지막에 Docker version이 나오면 성공입니다.


이제 검은 배경의 화면을 끄고 다시 웹브라우저에서 SSH 버튼을 누릅니다.


이 과정은 현재 접속한 계정에서 docker 명령어를 sudo 없이 할 수 있게 해줍니다.



다시 접속 후 



위 명령어로 소스를 다운 받습니다.



Cloning into 'keep'...

remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 41 (delta 14), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (41/41), 7.63 KiB | 781.00 KiB/s, done.


위와 같이 다운 받아질 것입니다.


총 8개의 파일을 수정해야 합니다. 메모장 아직 열려있죠? 지금을 위해 준비해둔 것입니다.


우선 쉬운 것부터 하겠습니다.



nano keep/beacon/config/keep-beacon-operator-account-address.txt


위 내용을 복사해서 붙여넣기 후 엔터를 칩니다.



REPLACE THIS TEXT WITH YOUR WALLET ADDRESS


위 내용이 나올텐데요. 컨트롤 + k를 눌러서 지웁니다.


그리고 메모장에 있는 자신의 이더리움 지갑 주소를 넣습니다.


컨트롤 + v를 누르면 붙여넣기가 됩니다.


그리고 컨트롤  + O, 엔터, 컨트롤 + X를 눌러서 저장 후 빠져나옵니다.


앞으로 저장 후 빠져나오는 것은 컨트롤  + O, 엔터, 컨트롤 + X 라고 생각하시면 됩니다.



nano keep/beacon/config/keep-beacon-operator-account-password.txt


위 명령어를 넣으면 



REPLACE THIS TEXT WITH YOUR WALLET PASSWORD


위 내용이 나올텐데요. 컨트롤 + k를 눌러서 지웁니다.


그리고 지갑 생성할 때 만든 비밀번호를 넣습니다.


메타마스크 접속 비번이 아닙니다.


keystore 파일 생성할때 넣은 비번입니다.


저장 후 빠져나옵니다.



nano keep/beacon/config/keep-beacon-operator-account-keyfile


위 명령어를 넣으면



REPLACE THIS TEXT WITH YOUR WALLET JSON CONTENT


위와 같은 내용이 나올텐데요. 컨트롤 + k를 눌러서 지웁니다.


그리고 아까 메모장에 복사해둔 {"version":3,~~ 로 시작하는 keystore 파일의 내용을 전부 붙여넣기 해줍니다.


좀 이상하게 나올 수 있는데, 한줄이므로 걱정하지 않아도 됩니다.


저장 후 빠져나옵니다.


총 3개의 파일을 수정했는데요. ecdsa 노드도 같은 내용이므로 복사해줄 것입니다.



cp keep/beacon/config/keep-beacon-operator-account-address.txt keep/ecdsa/config/keep-ecdsa-operator-account-address.txt \
&& cp keep/beacon/config/keep-beacon-operator-account-password.txt keep/ecdsa/config/keep-ecdsa-operator-account-password.txt \
&& cp keep/beacon/config/keep-beacon-operator-account-keyfile keep/ecdsa/config/keep-ecdsa-operator-account-keyfile;


위 내용을 전부 복사해서 붙여넣은 후 엔터를 칩니다. ecdsa에도 같은 내용이 복사가 되었습니다.


이제 파일 2개만 수정하면 됩니다! 끝이 보이네요!



nano keep/beacon/config/config.toml


위 명령어를 넣으면 글자가 많이 나옵니다.



# This is a TOML configuration file for Beacon node.


# Connection details of ethereum blockchain.
# Please, replace this links with your's Infura links.
[ethereum]
  URL = "wss://ropsten.infura.io/ws/v3/YOUR_PROJECT_ID_ON_INFURA_FOR_BEACON_NODE"
  URLRPC = "https://ropsten.infura.io/v3/YOUR_PROJECT_ID_ON_INFURA_FOR_BEACON_NODE"




# Your wallet address and link to your's wallet keyfile on the server. Replace your wallet address. No need to cha>
[ethereum.account]
  Address = "PASTE_HERE_YOUR_WALLET_ADDRESS"


우리가 바꿔야 할 것은 총 3군데입니다. 모두 메모장에 저장해둔 것들입니다.



wss://ropsten.infura.io/ws/v3/YOUR_PROJECT_ID_ON_INFURA_FOR_BEACON_NODE


위 내용 대신에 infura에서 생성한 beacon node의 endpoints에서 wss://로 시작하는 것으로 바꿔주면 됩니다.



wss://ropsten.infura.io/ws/v3/1234123412341234124124


대략 위와 같이 되겠죠?



위 내용도 https://~~ 로 시작하는 내용으로 바꿔주면 됩니다.



Address = "PASTE_HERE_YOUR_WALLET_ADDRESS"


위 내용도 자신의 keep 계정 지갑 주소를 넣어주면 됩니다.


다 바꿨으면



# This is a TOML configuration file for Beacon node.


# Connection details of ethereum blockchain.
# Please, replace this links with your's Infura links.
[ethereum]
  URL = "wss://ropsten.infura.io/ws/v3/12341234123412341234121234"
  URLRPC = "https://ropsten.infura.io/v3/243523452345234523523523453245"




# Your wallet address and link to your's wallet keyfile on the server. Replace your wallet address. No need to change keyfile path.
[ethereum.account]
  Address = "0x23l45jhk3ljj53l4k5j3lk5j34l1"


위와 같이 될 것입니다. 저장 후 빠져나옵니다.


이제 ECDSA node의 설정을 바꿀 것입니다.



nano keep/ecdsa/config/config.toml


이번에도 똑같이 총 3군데를 바꾸면 됩니다. 모두 메모장에 있는 것들이죠?


지갑주소는 beacon node와 같을 것이고, URL과 URLRPC는 ECDSA node의 그것으로 교체하면 됩니다.


저장 후 빠져나옵니다.



Node 실행하기


우선 Beacon node를 실행합니다.



cd && cd keep/beacon \
&& export KEEP_ACCOUNT_PASSWORD=$(cat ./config/keep-beacon-operator-account-password.txt) \
&& export SERVER_IP=$(curl ifconfig.co);


위 내용을 전체 복사해서 한번에 붙여넣고, 엔터를 누릅니다.



sudo docker run -d \
--entrypoint keep-client \
--restart always \
--volume /home/$USER/keep/beacon/persistence:/mnt/keep-beacon-client/persistence \
--volume /home/$USER/keep/beacon/config:/mnt/keep-beacon-client/config \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_ACCOUNT_PASSWORD \
--env LOG_LEVEL=debug \
--name beacon-node \
-p 3920:3919 \
keepnetwork/keep-client:v1.3.1 --config /mnt/keep-beacon-client/config/config.toml start


위 내용을 전체 복사해서 한번에 붙여넣고, 엔터를 누릅니다.


실행 완료입니다.


이제 ECDSA node를 실행합니다.



cd && cd keep/ecdsa \
&& export KEEP_ECDSA_OPERATOR_ACCOUNT_PASSWORD=$(cat ./config/keep-ecdsa-operator-account-password.txt);


위 내용을 전부 복사해서 붙여넣은 후 엔터를 누릅니다.



sudo docker run -d \
--entrypoint keep-ecdsa \
--restart always \
--volume /home/$USER/keep/ecdsa/persistence:/mnt/keep-ecdsa-client/persistence \
--volume /home/$USER/keep/ecdsa/config:/mnt/keep-ecdsa-client/config \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_ECDSA_OPERATOR_ACCOUNT_PASSWORD \
--env LOG_LEVEL=debug \
--name ecdsa-node \
-p 3919:3919 \
keepnetwork/keep-ecdsa-client:v1.4.0 --config /mnt/keep-ecdsa-client/config/config.toml start


위 내용을 전체 복사해서 한번에 붙여넣고, 엔터를 누릅니다.



Unable to find image 'keepnetwork/keep-ecdsa-client:v1.3.0' locally

v1.4.0: Pulling from keepnetwork/keep-ecdsa-client
21c83c524219: Already exists 
77ec07c446a8: Pull complete 
Digest: sha256:363e3d09d9d2c01284b12bb5858ceef2330255329a0b8452074ad21e013a792e
Status: Downloaded newer image for keepnetwork/keep-ecdsa-client:v1.4.0


위와 같이 나오면 성공입니다.


잘 되고 있는지 확인하려면



docker ps


위 명령어를 내렸을 때



@keep-node:~/keep/ecdsa$ docker ps
CONTAINER ID        IMAGE                                       COMMAND                  CREATED              STATUS              PORTS                    NAMES
71b78c95c9e6        keepnetwork/keep-ecdsa-client:v1.4.0   "keep-ecdsa --config…"   About a minute ago   Up About a minute   0.0.0.0:3919->3919/tcp   ecdsa-node
9f8dfb7e2cba        keepnetwork/keep-client:v1.3.1         "keep-client --confi…"   5 minutes ago        Up 5 minutes        0.0.0.0:3920->3919/tcp   beacon-node


위와 같이 STATUS에 Up ~~ minutes로 나오면 성공입니다.


혹시 Restarting~~ 으로 나오면 잘못된 것이니 다시 체크해보세요.



docker logs beacon-node -f


위 명령어는 Beacon-node가 잘 돌아가는지 볼 수 있습니다.


빠져나오려면 컨트롤 + c를 누르면 됩니다.


connected peers가 나오면 잘 된다고 보시면 됩니다.



docker logs ecdsa-node -f


위 명령어는 ECDSA-node가 잘 돌아가는지 볼 수 있습니다.


빠져나오려면 컨트롤 + c를 누르면 됩니다.


connected peers가 나오면 잘 된다고 보시면 됩니다.


또는 https://keepnode.app/ 이 사이트에 들어가서 메타마스크와 연결하면 어느정도 정보가 나옵니다.



Node가 연결됐는지 확인하는 방법


Node를 실행한 후 10~20분 정도 기다립니다.


그 후에 확인해보면 됩니다.


실행 직후에는 peer가 붙지 않습니다. 걱정마세요!


1. Beacon-node



docker logs beacon-node 2>&1 --since 5m | grep "number of connected peers"


위 명령어를 내렸을 때



@keep-node:~$ docker logs beacon-node 2>&1 --since 5m | grep "number of connected peers"
2020-09-27T12:59:03.882Z        INFO    keep-net-libp2p number of connected peers: [85]
2020-09-27T13:00:03.882Z        INFO    keep-net-libp2p number of connected peers: [85]
2020-09-27T13:01:03.882Z        INFO    keep-net-libp2p number of connected peers: [85]
2020-09-27T13:02:03.882Z        INFO    keep-net-libp2p number of connected peers: [85]
2020-09-27T13:03:03.882Z        INFO    keep-net-libp2p number of connected peers: [85]


위와 같이 나오면 성공입니다. 


2. ECDSA-node



docker logs ecdsa-node 2>&1 --since 5m | grep "number of connected peers"


위 명령어를 내렸을 때



@keep-node:~$ docker logs ecdsa-node 2>&1 --since 5m | grep "number of connected peers"
2020-09-27T12:59:00.498Z        INFO    keep-net-libp2p number of connected peers: [366]
2020-09-27T13:00:00.498Z        INFO    keep-net-libp2p number of connected peers: [371]
2020-09-27T13:01:00.499Z        INFO    keep-net-libp2p number of connected peers: [373]
2020-09-27T13:02:00.498Z        INFO    keep-net-libp2p number of connected peers: [376]
2020-09-27T13:03:00.498Z        INFO    keep-net-libp2p number of connected peers: [381]


위와 같이 나오면 성공입니다.



Node 업그레이드하기




docker stop beacon-node && docker stop ecdsa-node && docker rm beacon-node && docker rm ecdsa-node


위 명령어로 Node를 정지하고, 생성했던 컨테이너를 삭제합니다.


https://hub.docker.com/r/keepnetwork/keep-client/tags


https://hub.docker.com/r/keepnetwork/keep-ecdsa-client/tags


위 링크에 가서 각각의 버전을 확인하거나,


버전없이 그냥 latest 버전을 다운 받아서 실행하는 방법도 있습니다.


최신버전의 Beacon node를 실행합니다.



cd && cd keep/beacon \
&& export KEEP_ACCOUNT_PASSWORD=$(cat ./config/keep-beacon-operator-account-password.txt) \
&& export SERVER_IP=$(curl ifconfig.co);


위 내용을 전체 복사해서 한번에 붙여넣고, 엔터를 누릅니다.



sudo docker pull keepnetwork/keep-client && sudo docker run -d \
--entrypoint keep-client \
--restart always \
--volume /home/$USER/keep/beacon/persistence:/mnt/keep-beacon-client/persistence \
--volume /home/$USER/keep/beacon/config:/mnt/keep-beacon-client/config \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_ACCOUNT_PASSWORD \
--env LOG_LEVEL=debug \
--name beacon-node \
-p 3920:3919 \
keepnetwork/keep-client --config /mnt/keep-beacon-client/config/config.toml start


위 내용을 전체 복사해서 한번에 붙여넣고, 엔터를 누릅니다.



Unable to find image 'keepnetwork/keep-client:latest' locally

latest: Pulling from keepnetwork/keep-client
21c83c524219: Already exists 
069b56ef4eed: Pull complete 
Digest: sha256:8e4f82dddb3e47a225825e6ed99339a0b484cbb89dde69e0d59f7c43eef10aba
Status: Downloaded newer image for keepnetwork/keep-client:latest
337c9e8f7db1d2f4ccc1bdba865727d3bdf708749bcbf453d9317957a339e6c4


위와 같이 latest 이미지를 다운 받아서 실행하게 됩니다.



최신버전의 ECDSA node를 실행합니다.



cd && cd keep/ecdsa \
&& export KEEP_ECDSA_OPERATOR_ACCOUNT_PASSWORD=$(cat ./config/keep-ecdsa-operator-account-password.txt);


위 내용을 전부 복사해서 붙여넣은 후 엔터를 누릅니다.



sudo docker pull keepnetwork/keep-ecdsa-client && sudo docker run -d \
--entrypoint keep-ecdsa \
--restart always \
--volume /home/$USER/keep/ecdsa/persistence:/mnt/keep-ecdsa-client/persistence \
--volume /home/$USER/keep/ecdsa/config:/mnt/keep-ecdsa-client/config \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_ECDSA_OPERATOR_ACCOUNT_PASSWORD \
--env LOG_LEVEL=debug \
--name ecdsa-node \
-p 3919:3919 \
keepnetwork/keep-ecdsa-client --config /mnt/keep-ecdsa-client/config/config.toml start


위 내용을 전체 복사해서 한번에 붙여넣고, 엔터를 누릅니다.



Unable to find image 'keepnetwork/keep-ecdsa-client:latest' locally

latest: Pulling from keepnetwork/keep-ecdsa-client
21c83c524219: Already exists 
6afa303e4d4e: Pull complete 
Digest: sha256:50386fbfffde9e5d9250db9ee07ac94065707a3874a4957b709696e4b9e8093e
Status: Downloaded newer image for keepnetwork/keep-ecdsa-client:latest
a2abcbe032179fcac5a252c68dba0a70af06cb20aaa1e32f9eb38f4cde512fe9


이렇게 버전을 삭제하면 최신버전으로 다운 받아서 실행하게 됩니다.



Keep Network 참고사이트


Keep Discord : https://discordapp.com/invite/wYezN7v

Homepage : https://keep.network/

Keep GitHub : https://github.com/keep-network

스테이킹 가이드 : https://keep-network.gitbook.io/staking-documentation/

Docker Hub : https://hub.docker.com/u/keepnetwork

Vultr로 구축하는 방법 : https://medium.com/@nickgrego/step-by-step-guide-for-installing-both-ecdsa-beacon-nodes-on-vps-with-100-voucher-db930ab2a667

관련자료

댓글 2 / 1 페이지
Gatsbyjs 0 / 1 페이지
RSS
게시물이 없습니다.

최근글


새댓글


알림 0