Presearch 노드 설치 가이드

in SCT.암호화폐.Crypto3 years ago (edited)

이타인클럽입니다.

@oldstone님으로 부터 Presearch를 듣고 괜찮은 프로젝트라는 생각이 들었습니다.
간단히 설명하면, 검색하는 사용자가 검색에 대한 보상을 받는 이더리움 기반 댑입니다.
여기에 노드를 돌리면 보상을 주는 방식입니다.
검색 결과도 구글보다 좋은거 같습니다. 검색할 때마다 토큰도 생기니 구글 검색 대신 이걸 쓰는게 이득입니다.

토큰을 스테이킹해야만 노드를 돌릴 수 있는 줄 알았는데, 스테이킹 없이도 노드를 돌릴 수 있습니다.
그리고 노드 보상도 조금 있는거 같습니다.
자세한 내용은 아래 글들을 참고하시면 됩니다.

Presearch에 대한 글은 @libera-tor님께서 잘 정리해 주셨습니다.

Presearch 계정 생성

가입은 반드시 아래 링크를 따라서 가세요. 그러면 25 PRE를 받을 수 있습니다.
https://presearch.org/signup?rid=3643102
(제 Referal 코드입니다.)

저는 그냥 가입했더니 아무 것도 안줬습니다.

노드 설치 가이드

@libera-tor님이 올려주신 노드 설치 방법이 나와 있지만 설명이 없어서 제가 설명을 추가하여 다시 설명드립니다.

저는 증인노드 돌리는 서버에 Presearch 노드를 설치해 보겠습니다.
여기서 노드라고 하는 것은 블록체인에 참여하는 컴퓨터를 의미합니다.
저 같이 스팀을 위한 증인노드와 Presearch를 위한 노드를 하나의 서버에서 돌릴 수도 있습니다.

1. 서버 접속

Presearch 노드는 매우 가벼운 프로그램이어서, 월 $5 수준의 클라우드 서버나 라즈베리 파이에서도 돌아간다고 합니다.
저는 물리적 서버의 경우로 설명합니다.

먼저 서버에 원격 접속합니다.

$ ssh account@ip

예. 저는 witness라는 이름에 ip가 연결되어 있습니다.
$ ssh root@witness

2. 필요한 프로그램 설치

노드를 돌리기 위한 docker가 설치되어 있지 않다면 설치합니다. 설치되어 있다면 이 과정은 스킵해도 됩니다.
참고로, docker는 프로그램을 독립된 파일 시스템에서 실행시키기 위한 것입니다.
docker 설치에 대한 보다 자세한 내용은 다음을 참고하세요.
https://docs.docker.com/engine/install/ubuntu/

그리고, 계정은 root를 가정합니다. root 계정이 아니라면 명령 앞에 sudo를 붙여야 합니다.

프로그램 리스트를 업데이트 합니다.
# apt-get update

필요한 프로그램을 설치합니다.
# apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

다음으로 docker를 설치하기 위한 명령들입니다.

docker 공식 gpg 키를 추가합니다.
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

docker를 다운로드 받기 위해 리파지토리를 추가합니다.
# echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

리파지토리를 추가했기 때문에 다시 프로그램 리스트를 업데이트 합니다.
# apt-get update

docker 프로그램들 설치합니다.
# apt-get install docker-ce docker-ce-cli containerd.io

3. 노드 실행

노드를 실행하기 위한 필수 프로그램은 모두 설치했습니다. 그러면 노드를 실행하기 위한 docker 이미지를 받고 실행시키면 됩니다.

중요합니다! 여기서 YOUR_REGISTRATION_CODE에 자신의 코드를 입력해야 합니다. 코드는 presearch.org에서 설정에 가면 아래와 같이 있습니다.
https://nodes.presearch.org/dashboard

image.png

아래 명령을 한 번에 실행해도 됩니다. 이 때, 복사한 Registration code를 YOUR_REGISTRATION_CODE 자리에 넣어줍니다. 빈칸에 주의하세요.

# docker run -d --name presearch-auto-updater --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 300 presearch-node ; docker pull presearch/node ; docker run -dt --name presearch-node --restart=unless-stopped -v presearch-node-storage:/app/node -e REGISTRATION_CODE=YOUR_REGISTRATION_CODE presearch/node

위 명령은 여러 명령을 한번에 실행하는 것인데 풀어쓰면 다음과 같습니다.

containrrr/watchtower라는 프로그램으로 presearch-node라는 컨테이너를 관리하도록 합니다.
(참고. https://containrrr.dev/watchtower/arguments/)
# docker run -d --name presearch-auto-updater --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 300 presearch-node

presearch/node라는 docker 이미지를 다운로드 합니다.
# docker pull presearch/node

presearch/node 컨테이너를 실행합니다.
# docker run -dt --name presearch-node --restart=unless-stopped -v presearch-node-storage:/app/node -e REGISTRATION_CODE=YOUR_REGISTRATION_CODE presearch/node

노드가 실행되면 다음과 같이 로그를 확인합니다.

# docker logs -f presearch-node
2022-01-12T13:31:53.140Z info:
  .((((((((((((((((((((((((((((((.
  ((((((((((((((((((((((((((((((((
  ((((                        ((((
  ((((   (((((((((((*         ((((
  ((((   (((((((((((((        ((((
  ((((   ((((     (((((       ((((
  ((((   ((((     (((((       ((((
  ((((   (((((((((((((        ((((
  ((((   (((((((((((          ((((
  ((((   ((((                 ((((
  ((((   ((((   (((((((((((   ((((
  ((((   ((((   (((((((((((   ((((
  ((((                        ((((
  ((((((((((((((((((((((((((((((((
  '(((((((((((((((((((((((((((((('

2022-01-12T13:31:53.140Z info: presearch-node - v0.9.66
2022-01-12T13:31:54.081Z info: Saved public key!
2022-01-12T13:31:54.081Z info: Saved private key!
2022-01-12T13:31:54.861Z info: Node is listening for searches...

노드가 잘 설치되었군요!

다시 presearch.org의 설정 페이지에 가봅니다.
원래 없던 내용이 보입니다.

image.png

노드 재시작

주의 노드가 잘 돌고 있으면 실행할 필요가 없습니다.

돌고 있는 노드를 재시작 할 때는 다음과 같이 꼭 절차를 지켜야 합니다.
스팀 증인 노드도 돌고 있는 docker 컨테이너를 중지 후 시작해야 문제가 없듯이, Presearch node도 컨테이너 중지 후 시작해야 합니다.

presearch-node라는 컨테이너를 중지합니다.
# docker stop presearch-node

presearch-node라는 컨테이너를 삭제합니다.
# docker rm presearch-node

presearch-auto-updater를 중지합니다.
# docker stop presearch-auto-updater

presearch-auto-updater를 삭제합니다. 
# docker rm presearch-auto-updater

다시 시작하려면 위 명령을 실행한 후 3. 노드 실행 부분을 다시 실행하면 됩니다.

cc.
@steemcurator01

Sort:  

오늘도 고생하시네요^^ 항상 응원합니다

고맙습니다. 사용해 보세요~

이타인님 오늘도 응원합니다.
덕분에 presearch 에 가입했습니다!
즐거운 하루 보내세요^^

이거 느낌 옵니다~

소개 감사합니다. ^^

한번 사용해보세요~