그것이 돈이 되건 아니건, 새로운 정보를 익히기란 언제나 어렵습니다.
하지만, 태어난지 얼마안된 강아지의 적극적인 호기심어린 행동마냥 탐색해보는 행동, 그것이 채린이에겐 필요하다 생각합니다.
당장 돈이 될것 같다는 생각에 멀리 돌아온 저 처럼 되지않기를 바라며 얘기를 풀어나가 볼까 합니다.
일단 관점을 내가 다른 사람에게 정보를 전달해야하는 작가 관점으로 보셔야 이분 설명의 분기점에서 샛길로 빠지지 않습니다.
1. 이 코인의 성격이 이 글로 설명됐습니다. 모르는 내용이지만 붉은 표시 단어들(핵심입니다)을 눈여겨 봐두시구요.
2. 각종 링크들...이중에 디스코드는 필수로 가입해서 대화를 보며 추가 정보들을 취득하고, 차후 질문도 던져보시죠.
3. 사전 배포가 없었던 직접 채굴과 거래소 구입으로만 가능한 코인이네요
4. 첫 분기점이죠. 우분투 20.04 LTS용 바이너리 제공됩니다. 우리는 다운받아서 쓰면 됨을 의미
하이브로 마이너 다운 받을 때 GitHub release를 떠올리시고 압축풀기 명령 응용해서 다운/압축풀기 하세요
tar -xvf factorn-f597273f3bdc-x86_64-linux-gnu.tar.gz
소스에서 빌드하려면~~~~이건 이런 용도가 필요할 경우를 위한 안내. 멀리 돌아가지 마세요. ㅎㅎ...
5. 또 분기점입니다.Tor를 사용해 노드를 실행하려면~~~ 나중에 필요할지 그때 보도록하고 패스
6. 노드실행? 실행파일이겠죠, 두가지 목적, 릴레이(연계,전달)/마이닝(채굴), 채굴하려면 사용자 이름과 비밀번호를 설정(아래 두가지방법)해야 함~~!!!
7. ~/.factorn/factorn.conf 파일을 만들고 편집기로 열어서 아래와 같이 입력
vi ~/.factorn/factorn.conf 또는 nano ~/.factorn/factorn.conf
rpcuser=아이디
rpcpassword=비밀번호
노드실행하면 아이디/비번을 자동으로 사용, 노드 cli도구도 사용할 수 있다고 하니, 그냥 이걸로 갑시다 ㅎㅎ..
cli 도구도 나중에 보면 알겠죠.
8. 이 설명에서 릴리즈 페이지에서 바이너리를 압축해제한 디렉토리에서 다음을 수행,
즉, 4번에서 다운/압축풀기한 디렉토리에서 위 명령을 실행하면 된다는 의미죠.
cd factorn
./factornd -rpcuser=아이디 -rpcpassword=비밀번호
여기도 분기점입니다. rpcuser와 rpcpass를 수동입력 후 노드를 실행하는 방법도 있다고 알아놓고 패스.
(리눅스를 사용해봐야 ./factornd가 실행명령이라는 걸 알게됩니다. 리눅스를 써보세요 ㅎㅎ.. )
9. 채굴자,즉 마이너->노드연결과 다음 블록요청시 아이디/비밀번호 필요함. 연결포트는 8332
factornd를 실행하면 기본적으로 메인넷으로 실행됨.
테스트넷으로 실행하려면~~이라고 샛길로 빠지지 마시구요. ㅎㅎ....봐두고 패스. 채굴하려면 당연히 메인넷이죠 ㅋㅋ...
10. 이제 채굴정보입니다. 파이썬 스크립트를 만들었다고 하니 나중에 설명이 나오겠죠. 붉은 박스 3가지 요소가 필수조건이겠죠?
노드 실행중이어야함(./factornd로 실행시켜두면됨)..ㅎㅎ...
결국, 밑줄친 설명은
아이디/패스 파일 생성 후->./factornd 로 노드실행(동기화시간5~6분대기)->아래 설명으로 지갑 생성->주소 생성->채굴보상용 scriptPubKey 추출
11. 위 명령으로 지갑 생성->주소 생성->scriptPubKey 추출합니다.
지갑에서 이 scriptPubKey 값을 받으면 다음에서 광부 코드를 복제합니다.
clone the miner code from https://github.com/FACT0RN/factoring.
12. 그러면 getaddresinfo 명령으로 위와 같은 결과가 나온답니다.
이제 scriptPubKey값인 0014a8a44c20e7b12de5405bb864cd9d5be3c5bd055a을 얻었죠.
git hub에 있는 광부코드를 복제하라는건 git clone 으로 다운받으라는 말입니다.
아래와 같이 적당한 폴더에 다운로드 합니다.
git clone https://github.com/FACT0RN/factoring.git
13. 파이썬 패키지 인스톨해야 한다는 말이죠. 필수로 설치해 줍시다.
그런데 방법은? 리눅스를 모르면 검색해봐야죠. ㅎㅎ...
검색 결과 이런 결과를 얻었네요. ^^...
sudo apt-get install -y python3-cypari2
sudo apt-get install -y python3-gmpy2
sudo apt-get install -y python3-numpy
sudo apt-get install -y python3-sympy
sudo apt-get install -y python3-base58
14. 여기도 분기점이죠. 아나콘다 안쓰니까 패스 ㅎㅎ....
15. 이제 스크립트만 있으면 된다고 하네요.. 다왔습니다. 아래와 같은 형식이 되겠네요.
python FACTOR.py 0014a8a44c20e7b12de5405bb864cd9d5be3c5bd055a
설마 이게 끝? ㅎㅎ...준비된 스크립트를 또 봐야겠죠..헷갈림 ㅎㅎ...
https://github.com/FACT0RN/factoring
16. 마이너를 실행하려면 Docker가 필요하답니다. 없으면 설치해야겠죠. 검색검색 ㅎㅎ...
그리고 노드와 마이너가 동일한 시스템에서 채굴하는 경우라는 것. 즉 1pc=노드+마이너 ㅎㅎ..
12에서 다운로드 했었던 폴더 즉...아래와 같습니다.
git clone https://github.com/FACT0RN/factoring.git
cd factoring
docker build -t factorn_mining .
그래서 최종적인 마이닝 명령은 아래와 같은 형식이겠죠.
docker run -ti -e SCRIPTPUBKEY="0014a8a44c20e7b12de5405bb864cd9d5be3c5bd055a" -e RPC_USER="아이디" -e RPC_PASS="패스워드" -e YAFU_THREADS=4 -e YAFU_LATHREADS=4 --network host factorn_mining ?bash -c "python3.10 FACTOR.py"
17. 코어의 수가 4개인 경우 위 마이너 실행 파일을 3번 실행해서 3개의 컨테이너를 실행하라는....
아이고 길었지만....이런식의 설명이었습니다.
요약하면
1.노드작업
cd ~
wget https://github.com/FACT0RN/FACT0RN/releases/download/v4.23.69/factorn-f597273f3bdc-x86_64-linux-gnu.tar.gz
tar -xvf factorn-f597273f3bdc-x86_64-linux-gnu.tar.gz
vi ~/.factorn/factorn.conf 또는 nano ~/factorn/factorn.conf
rpcuser=아이디
rpcpassword=비밀번호
cd factorn
./factornd
동기화 시간 5~6분 대기
2.지갑작업
./factorn-wallet -wallet=지갑이름 -descriptors create
./factorn-cli loadwallet 지갑이름
./factorn-cli getnewaddress
새로운지갑주소 발급됨
./factorn-cli getaddressinfo 지갑주소
scriptPubKey 확인 후 복사
3.마이너작업
sudo apt-get install -y python3-cypari2
sudo apt-get install -y python3-gmpy2
sudo apt-get install -y python3-numpy
sudo apt-get install -y python3-sympy
sudo apt-get install -y python3-base58
git clone https://github.com/FACT0RN/factoring.git
cd factoring
docker build -t factorn_mining .
4. 채굴시작
docker run -ti -e SCRIPTPUBKEY="ValidScriptPubKey" -e RPC_USER="Your node's rpc username" -e RPC_PASS="Your node rpc's password" -e YAFU_THREADS=max_core_count_minus_one -e YAFU_LATHREADS=max_core_count_minus_one -e MSIEVE_BIN="/tmp/ggnfs-bin/" --network host factorn_mining bash -c "python3.10 FACTOR.py"
PS :
일하면서 공부해야하는 특수환경이라 집중을 못해 돌아서면 바로 까먹어버리기 일쑤였지만,
블로그에 기록해두고 이런식으로 설명을 쫓아가면서 힘든줄 모르고 재미있게 구축했었던 지난 한주였습니다. ㅎㅎ....
여러분들도 용기 잃지마시고 이렇게 접근하는 사람도 있구나 생각하시고 끈기를 가지고 도전해보시기 바랍니다.
물론 이다음 마이너와 1노드 다중 클라이언트 다양한 방식이 존재합니다.
솔플이라 결과가 어떨지 장담할 수 없지만, 좋은 결과로 이어지시기를 기원하구요...
이 글을 작성하는데도 무려 10시간이 소모됐네요. 어우~~나를 집중할 수 있게 내버려둬줘랏~~!!ㅎㅎ...
모두 화이팅입니다.
제일 처음 붉은 표시 단어들에 대한 떡밥회수가 안됐군요. 한가해 지면 또 추가해두겠습니다. 아래에 링크로 추가했습니다.
비트코인 노드의 cli 도구와 rpc호출 설정관련, 그리고 IntegerDispersion이었죠. 보시고 응용하세요
새로운 마이닝 도구-IntegerDispersion : 개발자도 이게 더 좋다고 했던 마이너입니다. 구글번역기로 보시고 그대로 따라해보세요.
https://github.com/FACT0RN/IntegerDispersion
IntegerDispersion 요약 :
./sieverb 28
2~3분 대기
cd ~/IntegerDispersion-main/work/yafu0/yafu
./yafu tune
nano FACTOR.py
lines 73 아이디 lines 74 비밀번호로 수정
마이너실행
python FACTOR.py <cpu-1> 0 <scriptPubKey>
cpu 8코어의 경우
python FACTOR.py 7 0 <scriptPubKey>
cd /root/IntegerDispersion-main
watch -n 1 python3 renice_mining.py
솔로마이닝 관련 참고하면 좋은 과거글들 : 읽어보시고 응용하세요.
https://www.ddengle.com/board_free/301736
https://www.ddengle.com/develop/8208882
노드관련 참고하면 좋은 과거글들 : 역시 비트코인 노드 설명을 보면 개념적으로는 같습니다. 응용하면 됩니다.
https://peakd.com/@sujankim/6wpz12-microbitcoin
factorn 디스코드 참조 : 대화속에서 길을 찾는다.
general 첫페이지 :
https://discord.com/channels/965624954395697223/1083241546498969631/1083241670436454450
support 첫페이지 :
https://discord.com/channels/965624954395697223/1025116668898316459/1080289023794348134
6/14 추가내용
이틀후 발견, 좋은 사양도 아닌데 뜬금없이 나와서 어리둥절하네요.
4대 테스트 중 2대만 서로 다른 방식으로 계속 돌고 있었고, 2대는 공부용으로 ctrl+c로 자주 멈춘 상황
로그 분석하다가 이게 아닐까 싶어서 올려봅니다.
클라이언트 블럭 발견 메시지, 라이젠 3600/smt 끄고 python3 5 0 ~~~~~으로 작동 중
지갑확인
https://factexplorer.io 에서 지갑주소로 확인
노드에서는 이렇게 표시되네요. ㅎㅎ...(클라이언트에서 발견 후 30~60분 쯤 지나서 노드에 표시됨)
거북이 처럼 느리고 천천히 꽉차게 돌리세요~~~~~^^...
8월19일 추가내용 : 다들 화이팅입니다~~!!
이제 진입하면 고난한 여정이 남았죠.
보통 인내심으로 첫 블럭 나올때까지 기다리기 어려울 거에요.