1. 기존 fact0rn 채굴 설명
1.1. PC선택과 채굴 : 2024-01-08
https://www.ddengle.com/mining/19548557
1.2. 개선된 채굴 프로그램 : 2024-01-11
https://www.ddengle.com/mining/19551677
1.,3. 개선된 채굴 프로그램의 동작방식 : 2024-01-15
https://www.ddengle.com/board_free/19557875
1.4. fact0rn의 해시와 난이도 : 2024-01-19
https://www.ddengle.com/board_free/19564450
1.5. fact0rn의 12대 정도의 소규모 채굴 네트워크 구성 : 2024-01-22
https://www.ddengle.com/board_free/19568142
1.6. 필터링 속도 개선(AVX512 지원) : 2024-01-28
https://www.ddengle.com/mining/19575145
1.7. 일부 버그 수정 및 HAPROXY 사용법 : 2024-02-04
https://www.ddengle.com/mining/19585293
1.8 CPU ECM 추가 : 2024-02-07
https://www.ddengle.com/mining/19589074
1.9 마이너 구조 단순화 버전 (0.99) : 2024-02-15
https://www.ddengle.com/mining/19599453
1.10 fact0rn 마이너 배포판 1.0 : 2024-02-22
https://www.ddengle.com/mining/19612751
1.11 fact0rn 마이너 배포판 1.03 : 2024-03-20
https://www.ddengle.com/mining/19677382
1.12 fact0rn 마이너 CUDA 버전 사용법 변경본 1.05 : 2024-03-29
https://www.ddengle.com/mining/19701779
2. 패치 파일
전체파일 : wget http://factorn.iptime.org:32080/download/fact_dist_22_04_v1.05.tar.gz
마이너만 1.0 -> 1.06 : wget http://factorn.iptime.org:32080/download/fact_dist_20_04_v1.00-to-v1.05.tar.gz
% 원래 1.056으로 할려고 했는데 오타로 1.06이 되어서 배포된것은 1.06 이네요.
3. 주 패치 내용
이번 버전의 주 패치내용은 클라이언트에서 듀얼 마이닝을 하기 위한 조치입니다.
기존 채굴하시는분들은 알고 계시겠지만 클라이언트는 factorn 채굴시 50~60%은 채굴에 참여하지만 나머지는 쉽니다.
이 동안에 프로세스의 우선순위를 낮추거나 하는 방법으로 듀얼채굴하셨는데요.
그렇게 하여도 factorn 채굴에 나쁜 영향을 줍니다.
예시로 클라이언트에서 아래와 같이 선언되어 있다면
export DUAL_MINING_CHECK_PROCESS="yafu yafu512 qli-Client qli-runner xmrig"
factorn 의 클라이언트. 즉 cado-nfs-client 가 동작되는 시점에는 위의 열거된 프로세스는 얼음 상태가 됩니다.
그 이후 cado-nfs-client가 작동되지 않는 시점이 도래되면 얼음 상태는 해제되어 정상 동작하게 됩니다.
또한 한달전부터 난이도 상승에 따라 CPU-ECM으로 동작되는 클라이언트에서는 yafu가 cado-nfs-client 동작시 병행 동작하는일 많이 발생되는데요
이 옵션으로 완전 해결이 됩니다.
4. 마이너(마스터) 설정
mine.sh 설정
#------필수 설정 입니다. 이것만 설정해도 서버는 동작합니다.--------------------------------------------#
# fact0rn 노드 서버 설정
export RPC_URL=http://127.0.0.1:2332
export RPC_USER=replace
export RPC_PASS=replace
# 마이너의 모드 설정
# CADO-NFS 가 서버와 클라이언트 동작하는데요.
# bin 폴더의 cadorun.sh 튜닝하다 보면 서버모드와 클라이언트모드 모두 필요할 때가 있습니다.
#export MINER_MODE="SERVER CLIENT"
export MINER_MODE="SERVER"
#-------------------------------------------------------------------------------------------------------------------#
#------CPU-ECM 서버를 이용시, 사용하지 않으면 주석----------------------------------------------------#
export CPUECM_SERVER_IP="node2 node3"
export CPUECM_SERVER_PORT="19301 19301"
#-------------------------------------------------------------------------------------------------------------------#
#-----CUDA-ECM 서버를 이용시, 이용하지 않으면 주석---------------------------------------------------#
export CUDAECM_SERVER_IP="node5"
export CUDAECM_MAX_LEVEL=4
#-----밑의 설정 내용은 https://www.ddengle.com/mining/19701779 에서 확인 ----------------#
export FIRST_ACCEPT_LEVEL=3 #Default 4
export SECOND_ACCEPT_LEVEL=3 #Default 4
export THIRD_ACCEPT_LEVEL=4 #Default 4
#-------------------------------------------------------------------------------------------------------------------#
#-----중앙 수집 서버를 이용시, 이용하지 않으면 주석------------------------------------------------------#
export CENTRAL_MN_IP="node20"
export CENTRAL_MN_PORT=19201
#-----메시지 브로커 이용시, 이용하지 않으면 주석----------------------------------------------------------#
#-----대시보드 개발중에 있으며 메시지 송수신 서버 설정입니다.-----------------------------------------#
export FARM_GROUP="TEST"
export MINER_GROUP="MINER_GP01"
export WORKER=$HOSTNAME
export MN_BROKER="node20:9092"
#-------------------------------------------------------------------------------------------------------------------#
5. 클라이언트 설정
mine.sh 설정
#------필수 설정 입니다. 이것만 설정해도 클라이언트는 동작합니다.-------------------------------------#
export MINER_MODE="CLIENT"
export CADO_SERVER_URL="http://node10:24242"
export CADO_CLIENT_BASE_PATH="/tmp"
#-------------------------------------------------------------------------------------------------------------------#
#-----MSG 서버설정, 주석이면 기본설정으로 적용----------------------------------------------------------#
export MSG_SERVER_IP="node10"
export MSG_SERVER_PORT=29291
# 기본설정은 CADO_SERVER_URL 의 SERVER IP를 MSG_SERVER_IP 서버로 인식 합니다.
# 그리고 기본포트는 29291 로 설정됨
#-------------------------------------------------------------------------------------------------------------------#
#-----듀얼 마이닝 이용, CPU-ECM 서버 동작시, 이용하지 않으면 주석---------------------------------#
export DUAL_MINING_CHECK_PROCESS="yafu yafu512 qli-Client qli-runner xmrig"
#-----중앙 수집 서버를 이용시, 이용하지 않으면 주석------------------------------------------------------#
export CENTRAL_MN_IP="node20"
export CENTRAL_MN_PORT=19201
#-----메시지 브로커 이용시, 이용하지 않으면 주석----------------------------------------------------------#
#-----대시보드 개발중에 있으며 메시지 송수신 서버 설정입니다.-----------------------------------------#
export FARM_GROUP="TEST"
export MINER_GROUP="MINER_GP01"
export WORKER=$HOSTNAME
export MN_BROKER="node20:9092"
#-------------------------------------------------------------------------------------------------------------------#
클라이언트로 runcadocli.sh 와 mine.sh 를 이용하는 것은 근본적으로 같습니다.
그러나 mine.sh 을 이용하면 DUAL_MINING_CHECK_PROCESS 을 사용할 수 있고 메시지 수집과 향후 대시보드에서 모니터링이 가능하게 됩니다.
6. 속도 튜닝
마이너(마스터)의 bin 폴더에는 다음과 같은 파일이 있습니다.
yafurun.sh, cadorun.sh
그리고 cpu-sever에도 yafurun.sh 파일이 있습니다.
마이너 개발할때부터 해당부문을 유저에게 오픈하여 튜닝할 수 있도록 하였는데요.
잘 모르시는 분들이 많네요.
참고적으로 해당 파일을 수정하여도 마이너 재기동 같은 절차는 필요 없습니다.
1. yafurun.sh
이 파일에서 볼것은 단 하나에요
-pretest_ratio 0.31
이 옵션입니다.
해당 옵션은 0.28 ~ 0.33 정도로 조정하면서 사용하면 되는데요.
낮은 수는 후보자 선출을 느슨하게 하지만 속도는 빨라 집니다.
높은 수는 후보자 선출을 세밀하게 하지만 속도는 늦어 집니다.
7950X의 경우 0.28 이면 후보자 선출이 5~10초이면 끝냅니다.
그러나 0.32의 경우는 100분이상도 걸립니다.
현재 기본 설정은 0.31 입니다.
2. cadorun.sh
기본적인 옵션은 다음을 참고 하세요
https://gitlab.inria.fr/cado-nfs/cado-nfs
세부옵션은 다음을 참고 하세요
https://gitlab.inria.fr/cado-nfs/cado-nfs/-/blob/master/parameters/factor/params.c120?ref_type=heads
https://gitlab.inria.fr/cado-nfs/cado-nfs/-/blob/master/parameters/factor/params.c90?ref_type=heads
설정여하에 따라 Complete 시간은 적게는 20초 많게는 60초 정도 단축이 됩니다.
수동으로 설정을 조절하면 매번 난이도가 변경할때마다 신경쓰셔야 합니다.
채굴은 제로섬게임이라 속도 튜닝 노하우들은 대부분 지인들끼리만 공유됩니다.
그래서 저에게 가끔씩 문의들 하시는데요. 아직까지 제가 아는한 cado-nfs 성능을 따라가는 인수분해 프로그램은 없습니다.
cado-nfs 의 옵션을 어떻게 튜닝하느냐에 따라 채산성이 결정됩니다.
main.sh 하나로 마이너. 클라이언트 . 다사용합니다.
모드부분 서버모드 클라이언트 모드 나눠져있어서 셋팅하시면 됩니다.