develop custom_top_html:no
default debug random = 1 / type = READ / detected = READ

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

 

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

    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 마이닝풀 설치 실행 / 웹서버 연동 설정

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

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

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

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

    이부분에서
    * 마이닝풀 설치가 모두 끝나면 풀 전용 지갑 생성및 설정 진행
    에 대해 조금만 더 설명해주실수 있을까요?
  • 감사합니다. 도전 !
  • ?
    번트마이너님 안녕하세요
    이더리움 사설 마이닝풀 제작중인데
    프로토컬막힘으로인해.
    도움좀 요청드려두될까요?

    사례하겠습니다
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1840 질문 흥미가 생겨서 코인을 만들던중 궁금한게 있어서 남깁니다.   https://etherscan.io/token/0x59f2e9311cc43f731e18bd2b9b573aca42f670c1#readContract     보면 Readcontract 다른 코인들은 다 기입이 되어있는걸 알고있습니다   그래서 저도 보이게 하려... 3 1 1195
빵빵한포도알
2019.02.02
1839 개발 흐으.. 새벽까지 삽질해서 겨우 메뉴얼 썼네요..     왕년에 노가다하던 솜씨(?)를 살짝 살려서 메뉴얼을 만들어 봤습니다. 내일정도에... Telegram 에 대한 최종 테스트가 끝나면 또 한번의 베타테스트를 가지 않을까...... 싶습니다 :D   pdf ... 2 file 1 1182
plextor
2018.05.29
1838 개발 흐으.. 대략 영문메뉴얼까지는 만들었네욤.   저희가 제작하는 모니터링 시스템의 영문 메뉴얼 작업을 겨우 끝났습니다. 서비스 자체는 애초에 영문버전을 같이 작업해둔 터라 큰 걱정없이 지나갔습니다만.. 그래도 이왕이면 메뉴얼까지 ... file 1 782
plextor
2018.06.04
1837 개발 흐어어.. 오늘 하루 매우 덥네요...-.-;   지난주 내내 새롭게 들어온 요청에 대해 작업을 어느정도 끝내고.. 저는 메뉴얼 작업을 다시 해봏까... 해서 모처럼 삽좀 푸고 있습니다.   기존에 메널은 ms word 로 만들었는데.. 목차도 없... file 0 586
plextor
2018.05.28
1836 개발 후우.. 1차 개발후에 소스를 정리하는것도 일이네요. 아직 눈에 띄지는 않았지만, 소스를 정리하다보니 나오는 논리적 버그도 있고.. 소스코드 주석도 한번 정리해야 하고...   이후 개발을 좀 차근치근히 진행해보려 하는데, 그럴려면 기존에 진행... 2 1 717
plextor
2018.06.08
1835 질문 후오비(huobi) api 문의 후오비 api 문의 드립니다.   후오비 코리아에서 key를 받았는데요.   url 을 https://api.huobi.pro 로 연결하면 글로벌 후오비에 연결이 됩니다.   후오비 코리아 접속을 위해서는 어떻게 해야... 1 0 1031
희망지기2
2018.10.08
1834 질문 후오비 API 원화마켓     안녕하세요,   고수분들의 조언이 필요합니다...   후오비 API 로 원화마켓 가격을 가져오고 싶은데 symbol에 KRW를 넣으면 respose가 없네요.   예) usdt는 잘 작동하는 https://api.huobi.... 2 0 24556
lkjdf
2019.07.11
1833 개발 후...고지가 머지 않았습니다..이게 마지막이군요...도움 좀 부탁드립니다...(ENT코인) https://www.youtube.com/watch?v=yaeZ-qKgK7I&amp;feature=youtu.be         위 영상의 2:4초부분에서 막혔습니다..거의다 고지가 다가왔는데 말입니다..     rpcuser= rpcpassword= daemon=1 s... 10 file 0 2018
흑곰짜응
2017.12.05
1832 질문 회사가 망하고있습니다..       개인정보 보호로 내용을 삭제합니다.           ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에 적어주세요.   비트코인 암... 9 0 3812
타겟필수
2019.03.20
1831 개발 환율 API 입니다. 예전에 개발한 환율 API입니다. 땡글에 올린다는걸 이제야 하게됐습니다. JSON 형식으로 반환합니다.   통화쌍을 선택해서 받아올 수 있습니다. https://exchange.jaeheon.kr:23490/query/USDKRW... 3 3 5121
신재헌
2018.10.29
1830 개발 환율 api USD-KRW 환율 api 소개좀 부탁드립니다.   yahoo api 환율 정보는 서비스 종료되었는지 결과가 null만 뜨네요.   https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finan... 1 0 5874
debugger
2017.11.27
1829 개발 화폐관련, 코인, 거래소, 전자지캅 및 어플리케이션 개발해 드립니다.   어플랩의 김재현이사 입니다.   가상화폐 / 거래소 / 전자지갑 개발해 드립니다. 각종 어플리케이션/웹사이트 및 API를 통한 서비스도 개발해 드립니다.   모두 중급 이상의 개발자로 세팅하여... 1 1 1020
홍금보
2018.10.09
1828 개발 화웨이, 블록체인 서비스 성능 테스트 툴 공개   http://news.naver.com/main/read.nhn?mode=LSD&amp;mid=shm&amp;sid1=105&amp;oid=092&amp;aid=0002133284     화웨이에서 블록체인의 성능을 테스트 할 수 있는 툴을 공개했다고 하네요.. 블... 0 1288
바보쿠우
2018.03.16
1827 개발 홍보글은 아니고 private blockchain 개발에 참조하시라고 올립니다      private blockchain은 폐쇄돼있어 회사 관계자 외에는 장부를 아무도 못봅니다 은행들이 이 private blockchain 방식을 취하고 있고 국제 국내 은행들은 이런 방식을 취할 수밖에 없습니다 ... 4 2 467
핵심코어보기
2019.11.26
1826 질문 혼자 거래소 만들어 볼까 합니다. 안녕하세요.   서비스의 목적은 아니고, 혼자서 이런저런 테스트 겸 스터디에 활용하고자, 거래소를 만들어 볼까합니다.   비트코인, 이더리움, 라이트코인, 대시 정도만 거래가능한 간단한 사이... 6 0 1238
제프츶이
2018.09.06
1825 개발 혹시 프로그램 제작관련해서 해시불러오는부분에서 질문이있습니다.   프로그램 만드신분들이나 웹만드신 분들보면 해시속도를 가져오는데 api로 가져온건가요 파싱으로 어디서 긁어온건가요?? 어떤건지 알려주시면 감사하겠습니다.                     ---------... 5 0 1767
더블코어
2018.01.16
1824 개발 혹시 코인원이나 빗썸 API로 Liquidity 나 마켓메이킹 봇 개발 가능하신분 있나요?           혹시 코인원이나 빗썸 API로 Liquidity 나 마켓메이킹 봇 개발 가능하신분 있나요?   도움 좀 받고 싶습니다             1 0 18774
토끼눈깔
2020.08.14
1823 개발 혹시 지갑주소 확인하는방법 아시는분 있나요??   안녕하세요. 가상화폐 입출금 서비스를 만들어보고있는대, 사용자가 입금할 가상화폐의 주소를 확인 할 수 있는 방법이 있을까요??   빗썸같은경우에 출금기능에 비트코인을 제외한 알트코인은... 0 1357
Cryptoooo
2017.11.08
1822 개발 혹시 오라클 좀 아시는분? Data Block Corrupt 를 RMAN 없이 해결할수 있는 방법? 안녕하세요. 소연아빠 입니다. ^^ 혹시 개발자 분들중에 오라클 핸들하시는 분이 계신다면,  혹시 오라클 좀 아시는분? Data Block Corrupt 를 RMAN 없이 해결할수 있는 방법? 을 알려주실수 있... 0 2291
소연아빠
2014.05.26
1821 개발 혹시 빗썸이나 업비트 등 국내거래소 자동거래봇 만드시는분 계신가요?             혹시 빗썸이나 업비트 등 국내거래소 자동거래봇 만드시는분 계신가요?   워치봇을 사용해봤는데   이게 손실만 계속 쌓이는데 혹시 봇 만드시는분 계시면    한번 구매해서 사용해... 10 1 3062
토끼눈깔
2017.12.16
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ