• 목록
  • 아래로
  • 위로
  • 0
  • 익명
  • 894
  • 0




일렉트로니움 마이닝풀 운영을 위한 설치 가이드 입니다.

 

ETN 마이닝 풀 서버 설치를 해보려고 했는데 node 버전 문제로 여러번의 실패로 우분투를 재설치하면서

여러번의 삽질을 하여 성공하고 작성한 설치 가이드 입니다.  (2018년 1월 기준)

최초 O/S 설치부터 블록체인 동기화에서 웹서버 추가 설정까지 모든 과정을 설명하였습니다.
실제 운영을 위해서는 SSL 설정 및 SSL 보안 인증서 설치까지 해야 하는데 해당 부분은 생략하였습니다.

 

참고로 ETN 마이닝풀서버를 구축하고 내부적으로 3대 정도 투입하여 채굴을 했는데 5일만에 블록을 발견하여

7천개 채굴에 성공하였습니다. ^^;;

그동안 GTX1050ti 8way , GTX1080, P106 2way 짬뽕 채굴기 2대로  두달 넘게 채굴한게 7천개정도인데

허접한 PC에 마이닝 풀 서버 구축하고 5일만에 두달 채굴량을 달성하였습니다.

다만 그이후로는 15일 넘게 더이상 블록 발견이 안되서 서버 운영을 중지하였습니다. (학습 목적 구축)

참고 소스  https://github.com/electroneum/electroneum-pool

 

* 마이닝풀 서버로 사용한 PC 사양

   옥션에서 구입한 HP 중고PC :   i5-750, RAM 4GB, 500GB HDD => 23만원짜리 중고 구입


1) 우분투 서버 설치 - 16.04 64비트 서버 ISO 다운로드 받아서 USB 설치
- 기본 설정으로 모두 설치 
- 설치 팩키지 선택시 SSHD Server 선택하여 설치 (ssh 접속용)
- 네트웍도 동적IP 기본 설정으로 설치 (설치 완료후 고정IP로 변경)

2) 우분투 설치 완료후 재부팅후 등록한 ID로 로그인하여 고정IP 설정  
   (Putty 와 같은 ssh 터미널 접속 프로그램으로  원격 접속)
- 동적IP를 고정IP로 변경하기
  ifconfig 로 현재 할당된 IP및 기타 정보를 확인하여 고정IP로 변경
  gateway나 기타 네트웍 설정도 본인의 환경에 맞게 수정하시기 바랍니다.

$ sudo vi /etc/network/interfaces

auto enp2s0                 <== 랜카드 네트워크 할당명 확인하여 해당 명칭으로 변경 요망 
iface enp2s0 inet static 
address 192.168.0.11   <== 내부 할당된 서버 고정IP / 또는 할당받은 공인IP 입력
netmask 255.255.255.0 
gateway 192.168.0.1 
network 192.168.0.0 
broadcast 192.168.0.255 
dns-nameservers 8.8.8.8  164.124.101.2

* enp2s0 명칭은 PC 환경에 따라 달라지니 본인이 설치한 서버에 할당된 명칭으로 변경해야 합니다.

* 추가한 내용 저장하고 편집기 종료하고 네트워크 재시작 명령어를 실행합니다.
$ sudo /etc/init.d/networking restart

3) 우분투 업데이트 설치
$sudo apt-get update  <==  몇분내로 업데이트 완료 
$sudo apt-get dist-upgrade  <== 업데이트 시간이 좀 오래 걸림 (Y/n ==> Y)

* SWAP 파티션 설정하기 (8GB 설정)

$sudo dd if=/dev/zero of=/mnt/myswap.swap bs=1M count=8000 
$sudo mkswap /mnt/myswap.swap 
$sudo swapon /mnt/myswap.swap 

$sudo vi /etc/fstab 
/mnt/myswap.swap none swap sw 0 0
* 추가  내용 저장하고 편집기  빠져나오기

* 서버를 리붓하여 추가한 사용자 계정으로 로그인

$sudo reboot now



4) 일렉 코인 빌드에 필요한 추가 팩키지 설치하기
$sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev 
$sudo apt-get install libboost-all-dev git npm nodejs nodejs-legacy libminiupnpc-dev redis-server 
$sudo add-apt-repository ppa:bitcoin/bitcoin 
$sudo apt-get update 
$sudo apt-get install libdb4.8-dev libdb4.8++-dev

5) 일렉트로니움 데몬/지갑 컴파일/빌드 하기
* 현재 계정 하위에 electroneum 디렉토리에 github의 소스를 복제하여 빌드
$git clone https://github.com/electroneum/electroneum 
$cd electroneum
$sudo apt-get update 
$sudo apt-get install build-essential cmake pkg-config libboost-all-dev libunbound-dev libminiupnpc-dev 
$sudo apt-get install libunwind8-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz 

$sudo cmake .
$sudo make   <== 컴파일 및 링크 빌드 작업 (시간이 좀 소요됨)

* 빌드가 정상적으로 끝나면  bin 디렉토리에 실행 파일이 생성됨
$cd bin
$ls
* 아래와 같은 파일이 생성되어 있으면 빌드가 성공한 것입니다.
electroneumd
electroneum-wallet-rpc
electroneum-wallet-cli
electroneum-blockchain-import
electroneum-blockchain-export

* 지갑 생성및 데몬 실행 (블록체인 업데이트)
* 블록체인 동기화는 5~8시간 걸림 (이 작업이 끝나야 다른 작업이 가능)
* 실행 파일 소유권을 로그인 사용자 ID로 변경
$sudo chown 로그인사용자ID -R ../bin/* 
$sudo chgrp  로그인사용자ID -R ../bin/* 
 

* 블록체인 동기화를 백그라운드로 실행하기 
$screen -S daemon 
$./electroneumd             <-- 백그라운드로  데몬 실행 / 블록체인 동기화 실행 (6시간~8시간 소요)

CTRL + a then CTRL + d  <-- 현재 screen 백그라운드로 실행되게 빠져나오기

6) 지갑만들기 및 RPC 서버 실행하기  (블록체인 동기화가 모두 완료되고 나서 진행)
* 블록체인 동기화가 끝난것을 확인하고 지갑 만들기
$screen -S wallet 
$./electroneum-wallet-cli   <== 지갑만들기 (지갑파일명, 비밀번호 설정)
 

* API 연동을 위한 RPC서버 실행
$./electroneum-wallet-rpc --wallet-file 지갑파일명 --password 지갑비밀번호 --rpc-bind-port 26969 --disable-rpc-login
CTRL + a then CTRL + d


7) 마이닝풀 설치에 필요한 npm 설치
$ cd ~
$wget https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh 
$chmod +x *.sh 
$./install.sh 
$source ~/.profile 
$nvm install 0.10.48 
$nvm use 0.10.48          
$nvm alias default 0.10.48   <== 이것  필수로 해야 버전 문제 안 생김 (이부분을 제대로 설명한 설치가이드가 없음)
$nvm use default                  <== 이것 제대로 설명한 풀 설치 가이드가 없음

8) 마이닝풀 설치
$cd ~ 
$git clone https://github.com/electroneum/electroneum-pool.git pool 
$cd pool 
$npm update  <== node 빌드 실행으로 시간이 많이 걸림

* 마이닝풀 설치가 모두 끝나면  풀 전용 지갑 생성및 설정 진행

9) 마이닝 풀 설정하기
$cd ~
$cd pool
$cp config_example.json config.json
* 본인 설정에 맞게 config.json 파일 내용을 수정한다. (풀피나 기타 설정값 변경)
..
   "poolServer": { 
        "enabled": true, 
        "clusterForks": "auto", 
        "poolAddress": "WALLETADDRESSHERE",  <== 위에서 생성한 풀 전용 지갑 주소를 입력
..

* 마이닝 풀에서 사용하는 포트 설명
마이닝용 포트 : 3333,5555,7777
API  : 8117
Redis : 6379
wallet : 26969
daemon : 26968

* 웹서버 설정및 기타 작업 필요

10) 마이닝풀 실행
(코인 데몬과 코인 RPC 서버 먼저 실행후 진행해야 에러가 발생하지 않음)

$cd ~
$cd pool

$screen -S pool
$node init.js              <== 마이닝 풀 서버가 제대로 실행이 되는지 확인
CTRL + a then CTRL + d    <== 제대로 실행되면 빠져나오기


11) 마이닝 풀 서버 자동실행 설정하기  (나중에 설정해도 됨 - 참고용)
$npm install forever -g
$forever start init.js

12) 웹서버 프론트엔드 설정하기 (nginx 설치하여 설정) 

* nginx를 먼저 설치하고 진행해야 합니다.

$cd /var/www/html  <-- 웹서버 홈디렉토리로 이동
$ cp -R /home/pool/pool/website_sample/* .  <-- 풀 프론트엔드 샘플 웹페이지를 모두 복사

$vi website_example/config.js
var api = "http://풀서버IP주소:8117";

* nginx 설정파일에 API 연동을 위한  프록시 설정파일 추가
/etc/nginx/sites-available/default 파일에 API 프록시 설정 추가 

$sudo vi /etc/nginx/sites-available/default   <-- 아래 설정내용을 추가

server { 
         server_name api.localhost; 

         location / { 
             proxy_pass_header Server; 
             proxy_set_header Host $http_host; 
             proxy_set_header X-Real-IP $remote_addr; 
             proxy_set_header X-Scheme $scheme; 
             proxy_pass http://풀서버주소:8117; 
         } 
 } 
* 수정한 내용 저장하고 vi 에디터 끝내기
*  웹서버 재시작 
$sudo /etc/init.d/nginx restart
 

13) 마이닝풀 운영 테스트

* 마이너 프로그램 서버 설정을 내 서버로 수정하여 로그인하고 채굴이 되는지 확인

* 마이닝 풀 웹서버로 접속하여 마이닝풀 서버 페이지가 정상적으로 표시되는지 확인

 

14) 참고사항 
* 리눅스 screen 명령어 사용하여 백그라운드 실행하기
  (screen 명령어가 설치가 안되어 있을경우 추가 설치 필요)
screen -S daemond  <--- Use to run the daemond 
screen -S rpc            <---- Use to run rpc 
screen -S website     < --- use to run website 
screen -list                <---- List screens 
screen -x website    <--- reconnect to screen website (해당 screen으로 다시 접속시 이용)
CTRL + a then CTRL + d <----- detatch from a screen 

 

 

ETN 마이닝풀 설치를 쉽게 생각하고 설치하다가 제대로 설치를 못해서 몇주를 허비하고

관련 풀 설치가이드에는 기본적인 가이드만 있고  알고보니 대단한 문제도 아닌데 문제가 되는 부분에 대한

설명이 누락되어 설치에 여러번 실패를 하였습니다.

설치 성공하고 정리한 내용을 설치에 어려움을 겪는 분들에게 조금이나마 도움이 되길 바라며 

설치가이드를 공개하니 마이닝풀 서버 설치및 운영에 관심 있으신 분들은 참고하시기 바랍니다.









공유

facebooktwitterpinterestbandkakao storykakao talk
퍼머링크



댓글 0

추천+댓글 한마디가 작성자에게 힘이 됩니다.
권한이 없습니다.





[전국 휴대폰성지] 대한민국 TOP 성지들만 모았습니다.

대법원 특수 감정인 자격을 갖춘 데이터 복구 포렌식 전문

해산물 싸게 먹으려고 차린 회사! 당일배송! 익일도착! 주앤주프레쉬