마스터노드에 대해서 알아보는 포스팅 세번째 주제는 구축 방법 입니다.
대충 마스터노드에 대해서 알게 되셨으면 마스터노더가 되고 싶으실 겁니다.
구축이 뭐 얼마나 어렵기에 앞서 두 글에서 계속 쉽지않다고 말했나 궁금하셨죠?
아래 내용을 보시고 한번 판단해 보시길 바랍니다 ㅎㅎ
마스터노드란 무엇인가?
3강 - 마스터노드 구축 방법 (어려움 주의)
<매너 요약>
* 마스터노드 구축은 크게 3단계 - 코인매집, 내컴퓨터 지갑설정, 리눅스 서버설정 - 으로 구성된다.
* 각 코인마다 구축방법이 조금씩 다 다르다.
* 쉽다면 쉽고, 어렵다면 어렵다. 컴맹만 아니라면 도전해 볼 만하다.
아시다시피 저는 프로그래머(개발자)입니다. 리눅스 서버도 많이 만지고 여러가지 컴퓨터 다루는데 능숙하죠.
개인적으로 저한텐 전혀 어려운점이 없습니다.
컴퓨터를 그럭저럭 다루신다고 생각되시는 분이면 나이불문 성별불문 사실 누구나 할 수 있다고 생각됩니다.
각각의 코인별로 마스터노드의 셋팅방법은 제각기 다릅니다만 큰 틀에서 보면 다 같은 개념으로 구축하게 됩니다.
여기서는 모내기 코인(Monoeci, XMCC) 을 샘플로 설명해 보도록 하겠습니다. 참고로 Monoeci가 정식 명칭이지만 친근하게 '모내기'로 불립니다.
다만 이 포스팅에서는 구축에 대한 전체적인 틀을 설명하기 위함이므로, 실제 모내기 코인의 설치매뉴얼로 사용할 수는 없습니다.
마스터노드는 "내 컴퓨터의 지갑"에 코인을 넣어두고,
"가상서버"에 이 정보만 전달해서 채굴을 실행한다고 설명했었습니다.
이것이 가장 중요한 원리이고 개념입니다.
이에 따라 마스터노드 구축은 크게 3가지의 작업이 필요합니다.
1. 코인 매집
2. 내 컴퓨터의 개인지갑과 노드정보 설정
3. 리눅스 가상서버(VPS) 채굴프로그램 설치 및 노드정보 설정
네. 위의 3가지가 마스터노드 구축을 위한 전부입니다.
물론 3. 리눅스 가상서버(VPS) 채굴프로그램 설치 및 노드정보 설정 이 당연히 가장 어려운 부분이 되겠습니다.
단계별로 자세한 내용을 알아보겠습니다.
1. 코인 매집
마스터노드로 채굴하고 싶은 코인을 먼저 선택하셨다고 가정합니다.
이 부분은 앞서 포스팅한 [가상화폐 투자정보/마스터노드] - 마스터노드란 무엇인가? 2강 - 마스터노드의 수익 구조 글에서
코인의 선택 기준으로 ROI와 코인의 가치 상승 가능성을 보고 선택하시라고 말씀드린 바 있습니다.
각 코인별로 필요한 갯수는 https://masternodes.online/ 에서 찾아보시는게 가장 편합니다.
Required(필요 코인 수), Min-worth(현재 1노드의 가격) 을 확인하실 수 있습니다.
XMCC(모내기)코인의 경우 1,000개의 코인이 있어야 1개의 노드를 구성할 수 있습니다.
이런 코인을 그럼 어디서 사느냐?
빗썸에 없습니다. 코인원, 코빗, 업비트 등 국내 거래소에서 '원화'를 이용해서 구입할 수 있는 코인은 2~3개에 지나지 않습니다.
업비트의 BTC 마켓에서 비트코인을 이용해 구입할 수 있는 코인도 5가지 이하(PIVX, MEME, DASH, ION 등등 대충 기억나는것...) 입니다.
그러면 이 코인을 파는 해외 거래소를 이용해야 합니다.
어느 거래소에서 거래되는지 찾아보기 위해 코인마켓캡(https://coinmarketcap.com) 사이트로 가서 코인을 검색해 봅니다.
코인 상세 페이지에서 Markets 탭을 눌러보시면 거래가능한 거래소 목록이 나옵니다.
모내기코인의 경우 크립토피아와 코인익스체인지 두군데에서 거래가 되네요.
물론 해당 사이트에 가입 및 인증이 되어있어야 하겠죠.
국내 거래소에서 BTC를 해당 거래소로 보내신 후 코인 매집을 시작하시면 됩니다.
당연히 싸게 사고 싶겠지만, 마스터노드의 구조상 대량으로 코인을 사기가 쉽지 않습니다.
보통은 이 코인 매집기간이 가장 오래 걸린다고 보면 됩니다.
내가 원하는 적정가격에 매수 주문을 걸어두고 누군가가 그 가격에 판매할 때까지 기다리는게 보통의 방법입니다.
"난 조금 비싸게 사더라도 빨리 노드 구축해서 몇일이라도 채굴 더 하는게 낫겠어" 생각되시는 분들은
시장가로 원하는 만큼 코인을 쭈악~~~ 긁어주시면 됩니다^^ 그럼 코인가격이 올라가므로 우리 기존 마스터노더들이 감사합니다*(__)
아무튼 여차저차 해서 코인1,000개를 구입하면 1단계의 완료입니다.
물론 코인매집 기간 중 2,3단계를 먼저 진행해 두는것도 시간절약하실 수 있는 팁 입니다.
2. 내 컴퓨터의 개인지갑과 노드정보 설정
내 컴퓨터는 비싼돈 주고 구매한 내 코인을 실제로 보관하게 되는 매우 중요한 역할을 합니다.
적게는 수백만원에서 많게는 수억원까지 들여서 구입한 코인이 모두 내 컴퓨터의 개인지갑에 보관됩니다.
반드시 지갑 암호화를 해야 하셔야 하고 지갑백업 및 백업파일 분산 보관도 필수입니다.
이부분까지 여기서 다 다루기엔 내용이 많이 옆길로 새게 되니 중요성만 강조해 드리도록 하겠습니다.
아무튼 코인을 보관하게 될 컴퓨터를 선정하시고 각 코인 웹사이트에서 제공하는 Windows용 지갑을 다운로드 합니다.
기본 형태는 QT-Wallet 이고, 각 코인마다 조금씩 기능이나 모양을 수정하긴 했지만 대체로 사용법은 비슷합니다.
이와 같은 모양의 프로그램이고, 최초 지갑 실행시 블록체인 거래장부를 모조리 받아와서 동기화 해야 하므로
길게는 몇시간정도 Sync 작업을 하게 됩니다. 그냥 켜놓고 작업이 끝날때까지 기다리면 됩니다.
이곳에서 지갑주소를 원하는만큼 계속해서 생성할 수 있습니다.
우리가 보통 사용하는 거래소사이트에서는 하나의 코인에 대해서 1개의 입금주소만 발급해 주지요?
이건 개인지갑이기때문에 10개던 100개던 지갑을 마음대로 만들수 있고, 각각의 지갑을 통해 코인을 입출금 할 수 있습니다.
지갑하나에 몽창 넣으면 되지 왜 여러개를 만드는거지? 의문이 듭니다.
일반적인 입출금을 위해서는 지갑주소 한개면 충분한게 맞지만 우리는 마스터노드를 구성하려고 합니다.
마스터노드는 지정된 정확한 갯수의 코인이 하나의 지갑에 들어있을 때에 해당 지갑을 '마스터노드'로 구성하고자 하는 의도로 인식합니다.
따라서 1개의 노드당 1개의 고유한 지갑주소가 필요한 것입니다. 아래 그림을 보면 이해가 더 빠르실 것 같네요.
네. 이건 저의 모내기XMCC코인의 마스터노드용 개인지갑에 만들어둔 지갑주소입니다.
(no lable)은 기본적으로 무조건 생성되어 있는 지갑이고요,
MyWallet 은 내 윈도우 지갑에 들어오고 나가는 코인을 몽땅 모아둘 "대표지갑" 주소입니다.
이 "대표지갑"이 필요한 이유는 아래에서 다시 설명드리겠습니다.
그리고 node001 부터 node005 까지 각 마스터노드를 구성할 코인을 담아두게 될 지갑주소가 있습니다.
지갑의 이름은 원하는대로 보기 편하게 붙일 수 있구요.
방금 대표지갑에 코인을 몽땅 모아둔다고 했는데 왜 이런 일이 필요할까요?
거래소에서 구입한 코인을 그냥 마스터노드용 지갑으로 바로 보내면 안되는건가요? 네. 안됩니다.
마스터노드로 구성하기 위해서는 반드시 윈도 월렛 내에서 '내부전송' 방식으로 정확한 갯수의 코인을 옮겨야만 합니다.
그래야만 마스터노드 구축을 위한 트랜잭션id가 제대로 생성되고 이 정보를 바탕으로 노드가 구축됩니다.
잘 이해가 되지 않으시더라도 마스터노드의 개발 자체가 그렇게 되었다고 생각하시고 꼭 기억해 두세요.
따라서 거래소에서 매수한 코인을 우선 내 컴퓨터의 특정 주소 (MyWallet)에 몽땅 모아둡니다. 출금할때도 여기서만 출금합니다.
즉, 거래가 가능한 외부거래소와 내 컴퓨터와의 코인 송수신을 담당하는 거래 창구 라고 보시면 되고요.
이제 여기에 보내진 코인을 각각의 노드용 지갑주소로 정확한 갯수만큼 "내부전송"을 하게 됩니다.
위와 같이 받을 주소에 노드지갑주소를 적고 0.0000001도 틀리지 않게 정확한 금액을 송금하게 되면,
마스터노드를 구성을 위한 내부전송으로 인식하게 됩니다. 수수료 같은거 빠지지 않도록 정확히 송금해야 합니다.
이 내부전송이 15컨펌 이상 완료되고 나면 노드와 연결시킬 Private key를 생성하고, 이 내부전송에 대한 트랜잭션id와 인덱스값(0 또는 1)을 이용해 리눅스서버의 채굴프로그램에 연결할 기본정보를 설정하게 됩니다.
사용자 폴더의 하위에 가보면 윈도우용 지갑의 마스터노드 설정파일을 찾을 수 있습니다. (C:\Users\사용자이름\AppData\Roaming\monoeciCore)
masternode.conf 라는 파일이고, 메모장으로 열어서 노드정보를 설정하는데, 아래와 같은 모양새가 됩니다.
여기까지가 윈도우 월렛의 마스터노드 정보 설정 방법입니다.
눈이 돌아가시지요? ㅋㅋㅋ 알고나면 사실은 별거 없습니다. 자세한 설명까지 하지는 않고 이런과정이 필요하다 까지만 아시면 됩니다.
리눅스 셋팅에 비하면 이정도는 컴맹만 아니면 다 따라할 수 있는 정도이지요.
3. 리눅스 가상서버(VPS) 채굴프로그램 설치 및 노드정보 설정
마스터노드의 꽃이라 할수 있는 가상서버(VPS) 설정입니다.
우선은 리눅스 가상서버를 임대해야겠지요? 가장 대중적으로는 Vultr(https://www.vultr.com/) 가 사용됩니다.
저는 개인적으로 디지털오션(http://www.digitalocean.com/?refcode=3d3130845d48) 을 추천해 드립니다.
최근 5$상품의 사양이 업그레이드되어 현재 가성비가 가장 좋고 안정적입니다. 초기 가상서버 설치 속도도 빨라서 신청후 기다릴 필요도 없습니다.
디지털오션 링크에 레퍼럴 코드가 붙은 이유는, 저 링크로 가입하시면 여러분들에게 10$가 지급됩니다.
5$짜리 가상서버를 2개월간 무료로 돌릴 수 있는 비용이고요.
물론 저에게도 혜택이 있습니다. 10$를 다 쓰시고 추가로 25$만큼 가상서버를 쓰시게 되면 저에게도 25$가 들어옵니다.
서버1대 임대하셔서 7개월을 더 사용하셔야 저한테 25$가 생기는거라 사실 뭐 크게 재미보는건 아닙니다만..
포스팅 작성비용쯤으로 생각하시고 이왕이면 저기로 가입해 주시면 감사하겠습니다 ^o^ (디지털오션 가입링크)
국내업체 중 가성비가 굉장히 뛰어난(월2천원) 클라우드서비스 회사가 있습니다만 (IWINV) 뭔가모를 오류로 인해 아직 노드를 성공해 보지 못했으므로 이부분은 나중에 확인해보고 업데이트 하도록 하겠습니다.
아무튼 디지털오션 원하시는곳에 회원등록을 마치고 나면 가상서버를 신규로 신청합니다.
이 '가상서버(VPS)' 라는 개념이 잘 이해가 안되시는 분들을 위해 부연설명을 좀 드리겠습니다.
보통 "컴퓨터"라 하면 데스크탑, 노트북 등등 하나의 장치를 말하지요.
'가상화(Virtualization)'는 한 대의 컴퓨터 안에서 cpu, 메모리, 디스크 등을 조금 할당해서 마치 새로운 PC인 것처럼 사용할 수 있도록 - 물리적인 컴퓨터가 아니라 논리적 컴퓨터를 - 만들어 주는 기술입니다.
요즘 cpu도 막 8코어 나오고 메모리도 32gb 되고 나홀로 쓰기엔 하드웨어 성능이 남아도니까 그중에 cpu 2개, 메모리4기가, 디스크25기가 짜리 작은 미니pc를 만들어 독립적으로 쓸수 있게 해준다고 보면 되는 것이죠.
'가상 서버'역시 같은 개념으로, 24시간 구동되고 있는 고성능의 '서버 컴퓨터'에서 약간의 cpu, 메모리, 디스크를 빌려다가 하나의 온전한 pc인 것처럼 단독으로 사용할 수 있게 만들고, 이를 돈을 받고 '빌려주는' 컴퓨터가 되겠습니다.
즉, 내손에 만져지는 진짜 컴퓨터 본체는 없지만 어딘가에 위치한 초고성능 서버컴퓨터 중 일부를 띠어서 마치 내 컴퓨터인 것처럼 사용할 수 있게끔 해주는 서비스가 '가상서버(VPS) 임대 서비스' 라고 생각하면 됩니다.
보통은 Ubuntu 14.04 x64 또는 Ununtu 16.04 x64 버전을 사용하지만, 코인에 따라 요구하는 OS가 다르기도 합니다.
Ubuntu(우분투)는 리눅스라는 OS의 한 버전으로, 그냥 MS-DOS, Windows10 등과 같은 OS입니다.
가상서버가 만들어지면 해당 서버에 접속할 수 있는 IP주소와 계정, 패스워드가 이메일로 옵니다.
가상서버에 접속하기 위해서는 Putty 등의 접속툴을 이용해 인터넷으로 접근하게 됩니다.
여기서 리눅스 서버는 우리가 흔히 사용하는 윈도우같은 아이콘, 마우스 기반으로 작동하지 않고 dos와 같은 콘솔로 사용하게 됩니다.
이런 까만 화면에 영어 명령어를 직접 입력해서 마스터노드를 설치하게 됩니다.
그리고 이제 각 코인별로 리눅스 가상서버 내에 마스터노드 채굴 프로그램을 설치해야 하는데,
대략 이런식의 명령어를 20~40개 정도 입력해서 경과를 지켜보며 오류없이 진행해야 합니다.
https://github.com/monacocoin-net/monacoCoin-Core
한글로 설치방법을 자세히 정리해주신분들이 계셔서 조금 알아보기 편하게 설치할 수는 있습니다만
한글매뉴얼이 없는 경우도 있고 아무튼 복사&붙여넣기신공을 이용해 미스없이 리눅스 서버 설정을 완료합니다.
이제 여기에 설정파일을 통해서 윈도우월렛에 설정했던 노드의 정보를 기록하고 채굴프로그램을 시작시킨 후,
이게 24시간365일 내내 돌아갈 수 있도록 자동시작 설정까지 완료하면 됩니다.
할만 하신가요 어떤가요?
아무래도 마지막 리눅스서버 설치하는 부분을 할수 있을지 없을지 잘 모르실거라 생각됩니다.
제가 5~6가지 코인들의 마스터노드를 구축해 보고, 모내기XMCC의 경우엔 20개가 넘는 노드를 셋팅해 보았는데요,
메뉴얼에 있는 그대로 토시 안빼먹고 복사&붙여넣기 시키는대로 잘 하면 몇번의 시행착오는 있을 수 있겠지만 누구나 하실 수 있습니다.
하지만 항상 예외, 변수 라는게 생기게 마련이고.. 리눅스 명령어에 대한 아무 이해 없이 그냥 따라만 하는 수준이라면
너무나도 사소한 실수 하나에도 메뉴얼에 나온대로 작동하지 않아서 그 뒤의 모든 과정이 꼬이는 등 어려움을 겪게 됩니다.
구축경험이 있거나 리눅스가 뱉어내는 메시지를 보고 적절히 대응 (구글링이라도 할 수 있는 정도) 할 수 있는것과
그렇지 않은 것과는 천지차이죠..
어쨋건 잘 모르시는 분일지라도 처음한두번이 어렵지 한번 감 잡고 나시면 다음부턴 수월하게 구축 할 수 있습니다.
이상으로 마스터노드 구축을 위한 3단계에 대해서 개략적으로 정리를 해 보았습니다.
각 코인들마다 설치방법이 동일한건 현재까진 없었습니다. 매우흡사 할 수는 있지만 어쨋건 모두 다르다고 보시면 됩니다.
제가 블로그에 각 코인의 마스터노드 구축방법까지 포스팅을 할지는 모르겠습니다.
전 이런방법 말고 좀 근본적으로 쉽게 설치할 수 있는 프로그램을 구상중이거든요..
이글 보시고 마스터노드 구축 더더욱 엄두가 안나시는 분들이 계실려나요? ㅎㅎ
아래 톡으로 문의 주시면 구축대행 등 상담해 드리도록 하겠습니다.
모든 코인 관련 프로그램은 원금을 보장하지 않습니다. 투자시 모든 책임은 투자자에게 있으니,
신중하게 판단해서 본인이 감당할 수 있는 범위 내에서 투자하시기 바랍니다.