블록체인
Node 분류

Keep Network의 ECDSA & Beacon nodes Vultr에 설치하기

컨텐츠 정보

본문



가상서버호스팅으로 유명한 Vultr에 Keep Network의 ECDSA & Beacon nodes를 설치하는 방법을 알려드리겠습니다.


Keep Network의 ECDSA & Beacon nodes 지갑 셋팅하기 ( https://www.wsgvet.com/blockchain/4 )


위 링크를 보고 지갑 및 Infura 정보를 메모장에 저장해둔 후 진행 가능합니다.



1. Vultr 가입하기


2e182dd89cac35fd50b7c427764dac2f_1603633639_9392.png

https://www.vultr.com/?ref=8691484-6G


위 추천인 링크로 가입한 후 결제 카드를 등록하면 30일 동안 $100을 무료로 쓸 수 있습니다.


4GB 상품이 $20이므로 4~5개를 1달 동안 편하게 사용할 수 있습니다.



2. 인스턴스 생성하기


2e182dd89cac35fd50b7c427764dac2f_1603633669_7877.png


가입하면 위와 같이 나오는데요. Deploy Instance 를 클릭합니다.
 

2e182dd89cac35fd50b7c427764dac2f_1603633688_84.png

서버는 Cloud Compute,  Location은 Tokyo를 선택합니다. Seoul은 4GB 상품이 없어서 선택할 수 없습니다.


2e182dd89cac35fd50b7c427764dac2f_1603633718_2109.png

Server Type은 Ubuntu를 클릭 후 20.04 x64를 클릭합니다.


Server Size는 80GB SSD, $20/mo, 4096MB를 선택합니다. 나중에 가격이 저렴해질 수 있습니다. 


중요한 부분은 4096MB 메모리가 필수입니다.


2e182dd89cac35fd50b7c427764dac2f_1603633744_1717.png

추가 기능, 스타트업 스크립트, SSH Keys는 그대로 두고, Server Hostname & Label에 keep을 넣고 Deloy Now를 누릅니다.



3. 인스턴스 정보 찾기


2e182dd89cac35fd50b7c427764dac2f_1603633767_0513.png

위와 같이 Installing이 나오면서 설치가 됩니다. keep을 클릭합니다.


2e182dd89cac35fd50b7c427764dac2f_1603633776_1422.png

위와 같이 내용이 나올 것입니다.


이제 SSH 접속에 제일 중요한 IP 주소와 root 비번을 찾아야 합니다.


IP Address가 putty 프로그램에서 넣을 IP 주소입니다.


그리고 Password에서 눈 모양 아이콘을 누르면 root 비밀번호를 볼 수 있습니다.


IP주소와 root 비밀번호는 메모장에 저장해둡니다.



4. SSH 접속프로그램 Putty 다운받기


(1) 32bit 용 Putty 다운 받기


https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe


(2) 64bit 용 Putty 다운 받기


https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe


자신의 컴퓨터에 맞는 bit를 선택해서 다운 받으면 됩니다.



5. Putty 실행 후 SSH 접속하기


다운 받은 파일을 실행하면 설치 후 실행이 됩니다.


2e182dd89cac35fd50b7c427764dac2f_1603633815_2985.png

위와 같이 Host Name (or IP address)에 Vultr에서 생성한 인스턴스의 IP 주소를 넣고 Open을 누릅니다.


2e182dd89cac35fd50b7c427764dac2f_1603633824_6905.png

위와 같이 경고표시가 나오는데요. 그냥 예(Y)를 누르면 됩니다.


2e182dd89cac35fd50b7c427764dac2f_1603633840_2491.png

login as에 root 를 넣고, password에 Vultr에서 복사한 비번을 그대로 넣고 엔터를 치면 로그인이 됩니다.


비번은 입력해도 표시가 되지 않으니 당황하지 않아도 됩니다.


2e182dd89cac35fd50b7c427764dac2f_1603633856_3029.png
 

정상적으로 로그인이 됐다면 위와 같이 나올 것입니다.



6. Docker 설치하기



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 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;


위 내용을 복사 후 붙여넣기 합니다. 


Putty에 붙여넣기 하는 방법은 검은 화면에 마우스 우클릭하면 됩니다.


그리고 엔터를 치면 알아서 설치합니다. 시간이 좀 걸립니다.



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이 나오면 성공입니다.



7. node 소스 다운받기



위 명령어를 복사 후 붙여넣기해서 실행합니다.



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. Node 정보 입력하기


총 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의 그것으로 교체하면 됩니다.


저장 후 빠져나옵니다.



9. 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 ~/keep/beacon/persistence:/mnt/keep-beacon-client/persistence \
--volume ~/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


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



Unable to find image 'keepnetwork/keep-client:v1.3.1' locally
v1.3.1: Pulling from keepnetwork/keep-client
21c83c524219: Pull complete
0b8fa4bc359c: Pull complete
Digest: sha256:1d8508f8e274f34ef5f78677b7c42cb05d3c80da84a8837cf6363b42b0856c6a
Status: Downloaded newer image for keepnetwork/keep-client:v1.3.1
d61ae27d09e27338382857dff8729c95d4fce9418130699af5ebb475f43ed8fb


위와 같이 나오면 실행 완료입니다.


이제 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 ~/keep/ecdsa/persistence:/mnt/keep-ecdsa-client/persistence \
--volume ~/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.4.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를 누르면 됩니다.



docker logs ecdsa-node -f


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


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


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



10. 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]


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



11. 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 run -d \
--entrypoint keep-client \
--restart always \
--volume ~/keep/beacon/persistence:/mnt/keep-beacon-client/persistence \
--volume ~/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 run -d \
--entrypoint keep-ecdsa \
--restart always \
--volume ~/keep/ecdsa/persistence:/mnt/keep-ecdsa-client/persistence \
--volume ~/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

관련자료

  • 서명
    우성짱의 NAS를 운영하고 있습니다.

    저의 즐거움이 여러분의 즐거움이면 좋겠습니다.

댓글 0
등록된 댓글이 없습니다.
전체 4 / 1 페이지
RSS

최근글


새댓글


알림 0