[FluxNode] 라즈베리파이에서 Flux Node 돌리기 가이드 #3

in hive-101145 •  3 years ago  (edited)

지난 번에 Flux Node 첫 보상 받은 걸 공유했었는데요, Flux 노드 설치 가이드 3편을 이어서 써봅니다.
노드 보상과 코인 가격 상승으로 잔고가 조금 올라갔습니다! 노드 보상이 계속 나온다는게 참 좋네요. 이게 바로 핫한 패시브 인컴(Passive income) 이죠. 패시브 인컴에 대해서 정리해서 책으로도 내보려고 합니다.

image.png

사실 노드 설치하는 방법은 다음 사이트에 나와 있습니다.
Flux Light Node Setup — As easy as it gets !!

그런데, 개발자인 제가 봐도 설명이 깔끔하지 않습니다. 그래서 최대한 초보자도 해볼 수 있게 설명해 보려고 합니다.

2편까지 따라오셨으면 필요한 OS와 하드웨어가 준비되어 있을 것입니다. 그럼 앞으로 설치 과정을 요약하면 다음과 같습니다.

  • Zelcore 지갑에 Flux 코인 스테이킹
  • 라즈베리파이 원격 접속
  • 원격 접속 유지 시간 설정
  • Flux 노드 설치 프로그램 다운로드
  • Docker 설치
  • Flux 노드 설치
  • 하드웨어 성능 벤치마킹
  • 노드 동작 확인

위 공식 방법보다 다음 동영상이 보다 자세하게 이해하기 쉽게 설명되어 있습니다.

1. Flux 스테이킹

Flux 코인을 거래소에서 구매하여 Zelcore 지갑에서 스테이킹 해야 합니다.
여기서는 Flux 코인이 준비된 상태를 가정하겠습니다.
Zelcore 지갑은 아래에서 설치가능합니다.
https://zelcore.io/

저는 Tron을 업비트에서 구매해서 BSC로 보내서 Flux-BSC로 스왑을 하고, 그것을 Zelcore 지갑으로 보내서 거기서 다시 Flux 코인으로 바꿨습니다. 바꾸는 과정은 동영상이나 다른 자료를 참고하세요.

Flux가 Zelcore 지갑에 있을 때, 이것을 스테이킹 하는 부분만 설명합니다.
스테이킹하는 방법은 자신의 지갑 주소에 Flux 코인을 송금하는 것입니다.

Zelcore 지갑 프로그램을 실행시켜 Portfolio 탭에 가보면 여러가지 용도의 지갑이 보입니다.
여기서 저는 Mining이라는 지갑에 Flux를 가지고 있기 때문에 Mining 지갑을 선택합니다.
image.png

그러면 거기서 Flux 코인을 선택하여, 다음과 같은 화면에서 왼쪽 메뉴에서 Receive를 눌러 자신의 받을 지갑 주소를 복사합니다.
image.png

다음으로, 왼편의 Send 메뉴를 클릭하고, 다음과 같이 받을 지갑 주소와 정확히 스테이킹 금액을 입력합니다. 현재 제일 낮은 Tier인 Cumulus 노드를 돌리기 위해서는 정확히 1000 Flux가 필요합니다.
image.png

이렇게 입력하고 Send를 누르면 Zelcore 지갑이 자동으로 스테이킹을 검출합니다. 이것을 확인하려면 아래처럼 Zelcore 프로그램 왼편 메뉴 중 Apps를 클릭하고 거기서 FluxNodes 메뉴를 클릭합니다.

image.png

그러면 Zelcore가 방금 스테이킹한 것을 아래 보여줍니다.

image.png

여기서보면, 상태가 Offline으로 노드는 돌아가진 않지만, Zelcore가 노드를 Cumulus 노드로 인식한 것을 볼 수 있습니다. 나중에 Flux 노드 설치할 때 여기의 정보를 입력해야 합니다.

이제 스테이킹(영상에서는 Collateral, 담보로 얘기합니다.)이 완료되었으니 Flux 노드를 설치해 봅시다.

2. 라즈베리파이 원격 접속

파이에 원격 접속하려면 파이의 IP를 알아야 합니다. 이것은 2편에서 설명했듯이 공유기 관리자 모드로 들어가서 확인해야 합니다.
그리고 2편에서 접속해서 flux라는 계정과 암호를 변경한 상태입니다. 다음과 같이 접속합니다. 윈도우의 경우는 putty같은 프로그램을 사용해야 합니다.

$ ssh [email protected] (자신의 파이 IP를 입력)
password:   (암호를 입력) 

3. 원격 접속 유지 시간 설정

6번의 Flux 노드 설치 과정은 1시간 가까이 걸립니다. 이 때 컴퓨터 사용이 없다면 원격 접속이 끊어질 수 있습니다. 그래서 다음과 같이 원격 접속 유지 시간을 변경합니다.
참고. https://linuxhint.com/increase-ssh-connection-timeout/

먼저 파이에 원격으로 접속합니다.
그 다음 아래처럼 원격 접속 유지 시간을 변경하기 위해 파일을 엽니다. 편집을 위해 nano 프로그램을 사용해도 됩니다.
아래 처럼 ClientAliveInterval을 찾아서 값을 변경합니다. 아래 예는 최대 유지 시간을 12 x 3600 초 = 12시간으로 설정한 경우입니다. 참고로 PrintMotd no도 아래처럼 주석을 없앱니다.

$ sudo vi /etc/ssh/sshd_config

#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
ClientAliveInterval 3600
ClientAliveCountMax 12
#UseDNS no

이렇게 한 후 변경 사항을 적용시킵니다.

$ sudo systemctl restart sshd

파이 원격을 끊고, 다시 원격 접속합니다.

$ ssh flux@파이 IP

4. Flux 노드 설치 프로그램 다운로드

접속한 파이에서 다음과 같이 작업합니다.
제가 설명하는 방법은 official 가이드대로 따라하지만, 순서나 설명이 조금 다를 수 있습니다.

공식 문서대로 아래처럼 프로그램 실행하라고 되어 있지만, 해당 명령은 매번 설치 프로그램을 다운로드해서 실행하도록 되어 있습니다. 인터넷 연결이 안돼서 실행이 안됩니다. 그래서 아래 처럼 설치 프로그램을 다운로드하여 로컬에 저장한 후 실행하도록 합니다.

$ wget https://raw.githubusercontent.com/RunOnFlux/fluxnode-multitool/master/multitoolbox.sh

그러면 현재 폴더에 multitoolbox.sh 파일이 다운로드 됩니다. 이걸 실행할 수 있도록 합니다.

$ chmod +x ./multitoolbox.sh

5. Docker 설치

Docker를 설치하려면 root 계정으로 해야 합니다. Docker는 프로그램을 독립적인 환경에서 실행시키기 위한 툴입니다.
먼저 다음과 같이 root 계정으로 바꿉니다.

$ sudo su -

잘 보시면 앞에 프로프트가 root 계정에서는 해쉬 또는 파운드로 바뀌어 있습니다. 프로프트가 해쉬 또는 파운드 인것은 현재 root 계정이라는 것을 의미합니다.

이제 노드 설치 프로그램을 실행시켜 docker를 설치합니다.

# ./multitoolbox.sh

이제 노드 설치 프로그램을 실행시킵니다.

$ /home/flux/multitoolbox.sh

앞에 /home/flux가 붙은 것은 파일이 flux 계정 밑에 있기 때문입니다. root로 계정을 변경하면 현재 위치가 /root로 변경되기 때문에 파일이 있는 곳을 지정해야만 프로그램을 실행시킬 수 있습니다.

프로그램이 실행되면 아래 그림처럼 메뉴가 나타납니다.
image.png

여기서 1 - Install Docker를 선택하기 위해 입력창에 1을 누르고 엔터를 칩니다.
그러면 Docker를 설치 됩니다. 설치 중에 새로운 계정을 만들어야 한다고 뜨며, 새로운 계정을 만듭니다. (저는 docker가 이미 설치되어 있어서 이 과정은 생략했습니다.)
참고로 Docker가 이미 설치된 상태라면 생략해도 됩니다.

6. Flux 노드 설치

Docker가 설치되었으면 원래대로 flux 계정으로 변경하고, flux 계정을 docker 그룹에 추가시켜 줍니다. 이렇게 하는 이유는 Docker를 flux계정에서 실행하기 위해서입니다.

# usermod -aG docker flux

계정을 그룹에 추가했으면, 파이를 reboot 시킵니다.

# reboot

약 1-2분 후에 다시 파이에 원격 접속합니다.

$ ssh flux@파이 IP

다시 노드 설치 프로그램을 실행시킵니다.

$ ./multitoolbox.sh.  (프로그램 위치에서 실행합니다. flux 계정으로 로그인했다면 현재 위치에서 실행합니다.)

이제 2 - Install FluxNode를 실행하기 위해 입력창에 2를 넣고 엔터를 칩니다.
2번 작업은 꽤 오래 걸립니다.

이 과정에서 저는 동영상과 좀 다르게 ssh 포트와 swapfile에 대해 선택하는 창이 안떴습니다. 뜨는 경우는 동영상처럼 ssh 선택하고, swapfile은 no를 선택합니다.

조금 지나면 아래 그림처럼 Privkey를 입력하는 부분이 나타납니다. 여기에 Zelcore의 FluxNodes 메뉴에서 "Identity Key"를 입력해야 합니다.

image.png

"Identity Key"를 입력하기 위해, 위에서 잠시 보여줬듯이 Zelcore 지갑 프로그램에서 Apps -> FluxNodes로 선택하여 Flux 노드 페이지로 이동합니다. 거기서 MyFluxNodes를 선택하면 "Edit" 메뉴가 나타납니다.

image.png
(위 사진은 FluxNodes가 Offline이 아니라 정상적으로 돌고 있는 거라 내용이 다르게 표시될 수 있습니다.)

image.png

여기서 "Identity Key"를 복사하여 PrivKey 입력란에 입력합니다.

그러면 노드 설치 프로그램에서 이번에는 다음과 같이 collateral txid를 입력하는 창이 뜹니다.

image.png

이것은 방금 Zelcore 지갑 프로그램에서 노드의 Edit 화면에 나타난 Collateral TX ID를 복사하여 입력합니다.

이어서 다음과 같이 Collateral Output Index를 입력하게 되어 있는데, 이것도 노드 Edit 화면에 나타난 Output Index를 입력합니다. 일반적으로 0으로 되어 있습니다.

image.png

다음으로 나타나는 것은 블록데이터 파일 다운로드 옵션입니다. 여기서 블록데이터가 bootstrap file로 제공됩니다.
그래서 블록데이터 동기화를 위해서 파일 다운로드 방식을 선택합니다. (Download from source build in script)
image.png

다운로드는 꽤 오래걸립니다. 물론 인터넷 속도가 빠르면 1시간 내로 됩니다. 저는 이상하게도 인터넷이 느려지더라구요. 몇 시간 넘게 걸렸습니다.
image.png

여기서 문제가 발생합니다! 무슨 문제냐 하면은 바로 원격 접속 화면이 끊긴다는 것입니다. 그래서 위에서 설명한 원격 접속 유지 시간을 설정했던 것입니다.

파일 다운로드 후 압축 풀기, 동기화 작업 등 몇 가지 작업이 있어서 꽤 시간이 걸립니다.

image.png


이번 가이드 작성하는데만 2시간이 걸렸네요. 하드웨어 벤치마킹 및 노드 동작 확인은 다음 편에서 설명하겠습니다.

증인 투표 부탁드립니다.

이타인클럽은 스팀 댑을 개발하고 서비스하고 있습니다.

아직 증인 투표 안하신 분들은 여기서 하실 수 있습니다.
https://steemitwallet.com/~witnesses

@steemcurator01, Thank you for Your Support

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Flux Node 운영하는 것도 재미있어 보이네요.
이타인님은 여러가지를 다양하게 하시는군요.
멋집니다.

패시브 인컴 해보고 있어요 ㅎㅎ
집에서 놀고 있는 비싼 라즈베리파이를 쓸 수 있어서 좋습니다~
안피곤님이말로 엄청 다양하게 하시네요. 존경합니다.

Upvoted! Thank you for supporting witness @jswit.
default.jpg