조회 수 3887 좋아요 45 댓글 42

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

 

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 마이닝풀 설치를 쉽게 생각하고 설치하다가 제대로 설치를 못해서 몇주를 허비하고

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

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

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

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

 

-------------------------------------

꼬리말

* 게시글 내용 삭제레벨 강등

* 질문은 각 주제별 게시판에.

 

비트코인 암호화화폐 커뮤니티 땡글~ 땡글~

-------------------------------------

Comment '42'

List of Articles
번호 분류 제목 좋아요 조회 수 글쓴이 날짜
공지 개발 [좋아요 5개] -> 추천글로 이동됩니다. 1 2531
쌍둥아빠
2017.04.01
922 개발 코인개발부터 상용화까지 팀꾸려봅니다. 안녕하세요 코인개발자 및 보안관련개발자 , 거래소구축개발자등등 코인관련해서 팀을 꾸려보고싶습니다. 코인개발관련 전문지식 없습니다 저는 단지 거래가능한 코인과 거래소만 있으면 거래 활성화시킬 홍보루트를 ... 3 943
땁두가
2018.02.12
921 개발 이더리움과 스마트 컨트랙(1) 안녕하세요. 파이리입니다. 이더리움과 스마트 컨트랙이라는 주제로 글을 써보려고 합니다. 어디까지 쓰게 될지는 모르겠지만, 나중에 묶어서 책이 되었으면 하는 작은 소망이 있네요.   이더리움에 대해서는 땡글에 ... 7 file 10 1366
파이리
2018.02.12
920 개발 HD wallet 을 사용하는 거래소 지갑?   안녕하세요,  뒤늦게(?) 비트코인을 공부하고 있는 1인입니다.   bitcoin core를 PC에 설치해 보니, 지갑이 자동생성되고 상태바에 HD enable 됐다고 표시되더라구요. testnet에서 새로운 지갑주소를 2개 더 생성하... 3 347
샤브라니
2018.02.12
919 개발 암호화폐 입출금 지갑 개발자 모십니다    암호화폐 입출금 개발. - 다양한 암호화폐 입출금 개발 (Bitcoin, Ethereum, Litecoin, etc…) - 리눅스 기반의 전자지갑. -모발 지갑   연락처  (주)메인넷    010-2801-5983      위  쳇   아이디 :  kepc075 카... 1 458
금하
2018.02.12
918 개발 코인관련 개발자 모집 합니다---     안녕하세요.   암호화폐 코인을 웹사이트에서 사용할수 있는 시스템을 만들려고 합니다. ,  아래의 사항과 관련해 같이할수 있는 개인 또는 협력업체 연락 부탁 드립니다.     1. 코인 개발 관련 - 신규코인 개발... 3 601
금하
2018.02.12
917 개발 상승장에서만 투자하는 봇     아래쪽에 이런 캡쳐를 올렸더랬습니다.       크로스에서 사고 팔게 로봇을 구현했더니... 저 사각형 왼쪽위에서 사서, 오른쪽 아래에서 팔더군요. ㅜㅜ     그래서 몇번의 수정을 (손실을 보면서... ㅜㅜ) 거쳐... 17 file 2 1507
jaypark
2018.02.12
916 개발 바이낸스 api 질문이요^^ 빗썸같은 경우에는 서로 다른 계정으로 api키를 발급받고 한 컴퓨터에서 봇을 각각 실행하면 12초 딜레이가 걸리는데   혹시 바이낸스 아시는 분있나요? 보통 1분에 1200회, 1초에 10개 오더로 허용을 해주는데 빗썸... 1 322
시니가미
2018.02.12
915 개발 이더리움 강의가 유튜브에 있었네요   땡글에서 '민빠' 라는 닉네임으로 활동하시는 분께서    강의를 진행하셨네요. 쌍둥아빠님 유튜브 계정에 올려져 있습니다.   https://www.youtube.com/watch?v=ddZ4wBfHGIo     이정도 깊이로 들어간 한글 자료가 ... 3 4 639
트라트
2018.02.12
914 개발 파이썬 봇 중간에 멈춰버림 해결어떻게 하나요... 파이썬3을 사용하여 폴로닉스 트레이딩봇을 제작중입니다 별건아니고 while True:문으로 시세를 감시하다가 상황봐서 분할매수 분할 매도를 하는 프로그램인데요 cmd창에서 실행도중 그냥 멈춰버립니다 이게 어떤 오... 9 506
squid
2018.02.11
» 개발 누구나 따라할 수 있는 ETN 마이닝 풀 구축 가이드 입니다. 일렉트로니움 마이닝풀 운영을 위한 설치 가이드 입니다.   ETN 마이닝 풀 서버 설치를 해보려고 했는데 node 버전 문제로 여러번의 실패로 우분투를 재설치하면서 여러번의 삽질을 하여 성공하고 작성한 설치 가이드... 42 update 45 3887
번트마이너
2018.02.11
912 개발 빗썸 분봉 캔들값 관련 문의입니다. 안녕하셔요.. 오늘도 질문 드려봅니다^^   bithumb 거래소 거래 체결 완료 내역 API를 가져와서 DB에 쌓아놓고 1분씩 잘라서 1분봉 캔들의 값을 구해보고 있는데요..   트레이딩뷰나 빗썸메인의 1분봉 차트를 보면 아... 7 file 412
비만타쿠미
2018.02.11
911 개발 빗썸 api로 ZEC 출금시 되다 말다 하네요 빗썸 api로 ZEC 출금시 되다 말다 하네요 현재 5번 중 3번은 자동으로 취소처리 되네요 다른 코인은 잘 됩니다. 사용 해보신분 있나요?                       ------------------------------------- 꼬리말 * 게시... 298
둔산
2018.02.11
910 개발 바이낸스 전용 오토 매매 를 제작중입니다 .     국내 거래소랑 여기저기 보고 있는대 .. 바이낸스가 API는 체계적으로 잘 제공해 주네요 ...   국내보다 더 잘 되어 있어서 살짝 ? 놀랐네요   3월초면 베타 테스트 해볼수 있을거같네요 시중에 알려준 차트기반... 8 3 790
바이낸스
2018.02.11
909 개발 [질문]AMD GPU 상태 조회 command line tool 안녕하세요   채굴기 모니터링 프로그램을 개발중입니다. NVIDIA의 경우에는 nvidia-smi 라는 command line tool이 제공되는 데요, AMD는 검색해 보아도 시원한게 답변을 찾을 수 가 없네요 혹시 AMD GPU상태를 조회... 302
inireland
2018.02.10
908 개발 erc20 토큰 질문드려요..   안녕하세요. 코린이입니다.    이더리움 개발 입문 책을 보며 궁금한점이 생겨서 질문드려요. 답변 해주시면 감사하겠습니다.   거래내역이  있어야 블럭을 만들기위한 작업증명(채굴)을 하는것으로 알고 있는데요.... 6 319
바보쿠우
2018.02.10
907 개발 빗썸 api 주문들 되시나요? 오늘 점검 이후로 아예 먹통인데 저만 이런건가요? 10시간째네요                       ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   비트코인 암... 4 421
파란기린이
2018.02.10
906 개발 이더리움베이직으로 공부 3일차!       안녕하세요 Dapp개발을꿈꾸며 공부하고있는! 학생입니다 이더리움베이직 책을보면서 예제를따라하면서 만들고 이해하고! 이러고있습니다.   2일동안은 자료를찾고 책을한번 정독하고! 3일차인 오늘 책에나온예... 2 file 3 658
연두부
2018.02.10
905 개발 바이낸스 거래소 가상서버에서 접속 시 안들어가는거같은데.. 제가 가상서버가 3개가 있는데   한개는 차트 사이트(바이낸스 api이용) 한개는 자동매매 봇 (바이낸스 api이용) 나머지 한개는 이제 데이터베이스 저장용(바이낸스 api를 사용하지도 않고 웹서버도 현재없음)   이 ... 2 296
알럽코인
2018.02.10
904 개발 PC방 유휴프로그램 v0.0.4 다운로드   업데이트 내용   1. 프로그램 종료 방법 변경 및 config에 직접 등록가능       버전 0.0.3 : https://www.ddengle.com/develop/5913404 (모니터 끄기 기능추가)   버전 0.0.2 : https://www.ddengle.com/... 24 file 3 1354
우리형
2018.02.09
903 개발 0컨펌 UTXO사용의 위험성 QT지갑에서 6컨펌 이후로 미확정에서 사용가능으로 바뀌길레 6컨펌 이전의 UTXO는 완전사용 불가능인줄 알고있었는데 create/sign/send rawtransaction을 통해서 0컨펌의 UTXO가 사용되더군요.     0컨펌 UTXO를 사용... 257
낙동강2995번개미
2018.02.09
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 49 Next
/ 49