debug random = 3

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

 

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

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

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

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

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

 

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

꼬리말

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

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

 

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

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

173 CASH
댓글 60
  • profile
    차카게살자66 2018.02.28 21:53
    etn코인 풀제작이면 클립토 계열 다른 풀도 제작 가능하겠네요 .신생코인 채굴풀하나 의뢰 하고 싶습니다^^ 대단하십니다
  • ?
    번트마이너 2018.02.28 23:08
    to 차카게살자66 :
    모네로 계열 코인은 풀 구축 방법이 거의 비슷합니다.
    코어부분인 코인 지갑, 코인 데몬, 코인 지갑 RPC 서비스 부분 프로그램만 다르고 마이닝풀은 환경설정만 약간 바꾸면 거의 공통으로 이용할 수 있습니다.
  • profile
    차카게살자66 2018.02.28 23:23
    네 모네로 계열 풀 서버 한두개 테스트 하고 싶은데 직접할려니 엄두가 안나네요^^
  • ?
    번트마이너 2018.03.04 12:29
    to 차카게살자66 :
    죄송하지만 따로 의뢰받아서 구축하는건 안합니다~ ^^;;
    유지보수 문제나 기타 문제 발생시 대처등으로 주변에 리눅스 하시는 분 있으면 의뢰하시는게 나을겁니다.
    위 자료를 참고하면 리눅스 조금 공부해서 기본적인 리눅스 서버 관리할 수준이면 쉽게 구축 가능합니다.
  • ?
    망고오 2018.03.09 18:25
    윈도우즈 마이닝풀 구축 어떻게 하나요?
  • ?
    번트마이너 2018.03.10 15:27
    to 망고오 :
    아래와 같이 하면 될 거 같은데 직접 해보지는 않았습니다.

    1) ETN 코인 데몬 실행 및 블록체인 동기화 - 동기화 완료후 다음 단계 진행
    electroneumd.exe
    2) 지갑 RPC 서버 데몬 실행 - API 연동
    electroneum-wallet-rpc.exe --wallet-file 지갑파일명 --password 지갑비밀번호 --rpc-bind-port 26969 --disable-rpc-login
    3) Node.js 설치및 Node.js 마이닝풀 설치 실행 / 웹서버 연동 설정

    참고만 하시기 바랍니다.
  • profile
    명견실버 2018.06.12 11:39
    혹시 활동 하시면 질문 하나해도 될까요? node init.js 실행 할 때 error가 발생합니다. fs : missing callback Error : EACCES , open 'logs/api_info.log'라고 뜨네요..포트는 다 열었습니다.다만 궁금한게 config.json보면 password부분에 어떤 패스워드를 필요로 하는지..
  • ?
    번트마이너 2018.06.15 17:06
    to 명견실버 :
    일렉 테스트 풀 이용안하고 삭제한지가 오래되서 기억이 안 나는데 예전 자료를 보니 password 항목은 설정값 없이 처리했네요.

    "api": {
    "enabled": true,
    "hashrateWindow": 600,
    "updateInterval": 3,
    "port": 8117,
    "blocks": 30,
    "payments": 30,
    "password": ""
    }

    참고하세요~
  • ?
    헬로월드 2018.07.01 07:23
    8) 마이닝풀 설치
    $cd ~
    $git clone https://github.com/electroneum/electroneum-pool.git pool
    $cd pool
    $npm update <== node 빌드 실행으로 시간이 많이 걸림

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

    이부분에서
    * 마이닝풀 설치가 모두 끝나면 풀 전용 지갑 생성및 설정 진행
    에 대해 조금만 더 설명해주실수 있을까요?
  • ?
    수뎅 2019.03.22 08:26
    감사합니다. 도전 !

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
공지 [Air Drop 이벤트] 게시판을 신설합니다 6 updatefile 604
땡글운영위원회
2019.05.17
공지 [땡글] (주)이에스엔운영 채용공고 15 file 2 2591
ESN운영
2019.05.14
[AD] [AD] ESN으로만 신청 가능한 광고자리입니다. 14 update 11571
관리자
2019.01.02
907 개발 파이썬 봇 중간에 멈춰버림 해결어떻게 하나요... 파이썬3을 사용하여 폴로닉스 트레이딩봇을 제작중입니다 별건아니고 while True:문으로 시세를 감시하다가 상황봐서 분할매수 분할 매도를 하는 프로그램인데요 cmd창에서 실행도중 그냥 멈춰버립니다 이게 어떤 오... 9 889
squid
2018.02.11
» 개발 누구나 따라할 수 있는 ETN 마이닝 풀 구축 가이드 입니다. 일렉트로니움 마이닝풀 운영을 위한 설치 가이드 입니다.   ETN 마이닝 풀 서버 설치를 해보려고 했는데 node 버전 문제로 여러번의 실패로 우분투를 재설치하면서 여러번의 삽질을 하여 성공하고 작성한 설치 가이드... 60 60 10700
번트마이너
2018.02.11
905 개발 빗썸 분봉 캔들값 관련 문의입니다. 안녕하셔요.. 오늘도 질문 드려봅니다^^   bithumb 거래소 거래 체결 완료 내역 API를 가져와서 DB에 쌓아놓고 1분씩 잘라서 1분봉 캔들의 값을 구해보고 있는데요..   트레이딩뷰나 빗썸메인의 1분봉 차트를 보면 아... 7 file 1119
비만타쿠미
2018.02.11
904 개발 빗썸 api로 ZEC 출금시 되다 말다 하네요 빗썸 api로 ZEC 출금시 되다 말다 하네요 현재 5번 중 3번은 자동으로 취소처리 되네요 다른 코인은 잘 됩니다. 사용 해보신분 있나요?                       ------------------------------------- 꼬리말 * 게시... 736
둔산
2018.02.11
903 개발 바이낸스 전용 오토 매매 를 제작중입니다 .     국내 거래소랑 여기저기 보고 있는대 .. 바이낸스가 API는 체계적으로 잘 제공해 주네요 ...   국내보다 더 잘 되어 있어서 살짝 ? 놀랐네요   3월초면 베타 테스트 해볼수 있을거같네요 시중에 알려준 차트기반... 8 3 1552
바이낸스
2018.02.11
902 개발 [질문]AMD GPU 상태 조회 command line tool 안녕하세요   채굴기 모니터링 프로그램을 개발중입니다. NVIDIA의 경우에는 nvidia-smi 라는 command line tool이 제공되는 데요, AMD는 검색해 보아도 시원한게 답변을 찾을 수 가 없네요 혹시 AMD GPU상태를 조회... 557
inireland
2018.02.10
901 개발 erc20 토큰 질문드려요..   안녕하세요. 코린이입니다.    이더리움 개발 입문 책을 보며 궁금한점이 생겨서 질문드려요. 답변 해주시면 감사하겠습니다.   거래내역이  있어야 블럭을 만들기위한 작업증명(채굴)을 하는것으로 알고 있는데요.... 6 1366
바보쿠우
2018.02.10
900 개발 빗썸 api 주문들 되시나요? 오늘 점검 이후로 아예 먹통인데 저만 이런건가요? 10시간째네요                       ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.   비트코인 암... 4 867
파란기린이
2018.02.10
899 개발 이더리움베이직으로 공부 3일차!       안녕하세요 Dapp개발을꿈꾸며 공부하고있는! 학생입니다 이더리움베이직 책을보면서 예제를따라하면서 만들고 이해하고! 이러고있습니다.   2일동안은 자료를찾고 책을한번 정독하고! 3일차인 오늘 책에나온예... 2 file 3 1349
연두부
2018.02.10
898 개발 바이낸스 거래소 가상서버에서 접속 시 안들어가는거같은데.. 제가 가상서버가 3개가 있는데   한개는 차트 사이트(바이낸스 api이용) 한개는 자동매매 봇 (바이낸스 api이용) 나머지 한개는 이제 데이터베이스 저장용(바이낸스 api를 사용하지도 않고 웹서버도 현재없음)   이 ... 2 542
알럽코인
2018.02.10
897 개발 PC방 유휴프로그램 v0.0.4 다운로드   업데이트 내용   1. 프로그램 종료 방법 변경 및 config에 직접 등록가능       버전 0.0.3 : https://www.ddengle.com/develop/5913404 (모니터 끄기 기능추가)   버전 0.0.2 : https://www.ddengle.com/... 25 file 3 2607
우리형
2018.02.09
896 개발 0컨펌 UTXO사용의 위험성 QT지갑에서 6컨펌 이후로 미확정에서 사용가능으로 바뀌길레 6컨펌 이전의 UTXO는 완전사용 불가능인줄 알고있었는데 create/sign/send rawtransaction을 통해서 0컨펌의 UTXO가 사용되더군요.     0컨펌 UTXO를 사용... 568
낙동강2995번개미
2018.02.09
895 개발 browser_solidity에..한글은 원래 깨지는건가요..? browser-solidity-gh-pages   위 버전의 browser-solidity 를 사용중입니다... 한글 주석을 달려고 하면 아래 그림처럼 제대로 입력이 안되네요ㅠㅠ 원래 쓰려던 한글이 &quot;이름 없는 함수(송금되면 실행된다)&quot;  인데..... 4 file 548
바보쿠우
2018.02.09
894 개발 geth 콘솔에서 채굴 중인지 아닌지 볼 수 없을까요?   가상머신에 우분트 올리고 하다보니 ㅠㅠ 작업 증명 성공하기 까지 너무 오래 걸리는데요.. (현재는 여건이 안되서..우분투만 따로 설치를 못함 ㅠㅠ)   ESC 코인을 채굴 할 때 보면 콘솔창에 채굴 여부가 계속해... 4 file 587
바보쿠우
2018.02.08
893 개발 자작 - 듀얼파워 어댑터 + 그래픽카드 파워 분배 보드 안녕하세요.   듀얼 파워 어댑터 기능에 추가로 각각의 그래픽 카드에 안정적인 파워를 공급해 주자는 취지에서 만들어 보았습니다. 연결 가능한 보조파워 용량은 최대 650W 입니다. 전류값 계산은 아래와 같습니다. ... 19 file 15 2164
셋톱박
2018.02.08
892 개발 PC방 유휴프로그램 v0.0.3   다운로드     ★업데이트 내용★   1. cmd 창 종료 방법 변경   2. 모니터가 켜진 후 1분동안 마우스 및 키보드 입력이 없으면 모니터 다시 꺼지도록 수정   성굴하시고 만석되세요~^^       @Quigon 님이 말씀하시건... 18 2 1652
우리형
2018.02.08
891 개발 ICO 코인 개발시 기간과 비용을 대략적으로 알 수 있을까요?   코인 개발에 관심이 많습니다.    공부를 열심히 하고 있지만, 역시 제 분야가 아니다 보니까    이해가 많이 더디고 진도가 안 나가는데요.      공부하면서 궁금한 것이 ICO 하는 코인들은 대략적으로 어떤 사업... 7 1 3264
2018년화이팅
2018.02.08
890 개발 웹사이트에 비트코인실시간가격가져오기좀 알려주시면 감사하겠습니다.(소스첨부) 고수님들 도움부탁드립니다... 아래소스에서 빨강색표시부분에 값(비트렉스또는코인원의 비트코인실시간현재가격)을  가져다 웹에서 표시하고싶습니다... api로 가져온다는건 알겠는데 PHP지식이 미천한지라  어떠케... 2 1677
오딧세이
2018.02.08
889 개발 채굴을 쉽게 돕기 위한 관리 프로그램 ForeMiner를 소개합니다. 채굴을 쉽게 돕기 위한 관리 프로그램 ForeMiner를 소개합니다.   프로그램 및 설명서 다운로드 사이트 : http://fm2.tenyears.co.kr/   프로그램 및 설명서는 다운로드 사이트에서 다운 받으시면 됩니다.           ... 4 file 1916
십년지기
2018.02.08
888 개발 컨트랙트 주소를 찾을 수 없나요?   안녕하세요. 샘플 Dapp을 개발해보고 있는데요. 리눅스에 ganache 라는 가상의 블록체인에 nodejs 를 통해서 개발/테스트하고 있습니다. 컨트랙트를 컴파일하고 배포시점에 생성된 주소를 메모해놓지 않고, 리눅스... 2 482
재재
2018.02.08
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 ... 83 Next
/ 83