Windows10 환경 간단한 채굴 Tools.bat

Windows 10 환경에서 사용할 수 있는 간단한 Tools를 만들어 보았습니다.

Windows 배치 파일로 사용하시면 됩니다.

*경로는 https://github.com/gluwa/CreditcoinDockerCompose-Mainnet 파일 기준으로
C:\CreditcoinDockerCompose-Mainnet-dev\ 입니다.

기능
*Client, Server 종료
*Client, Server 실행
*현재 블록확인
*Peer 확인
*블록감시 (1시간 단위, 블록이 같다면 서버와 클라이언트를 재실행합니다.)
*sighash, pub키, priv(마이너)키 조회
*종료

사용 방법

  1. 메모장을 실행한다.
  2. 아래 코드를 [복사] 후 메모장에 [붙혀놓기].
  3. [파일]-[다른 이름으로 저장]
    (1). [인코딩]-ANSI (2) [파일형식]-모든 파일(.) 변경 (3) 파일명 Tools.bat - [저장]

@echo off
:_loop
echo.
echo -----------------------------------------------------
echo *3번 이후 명령어는 Client, Server를 실행 후*
echo 1번 Client, Server 종료
echo 2번 Client, Server 실행
echo 3번 현재 블록확인
echo 4번 Peer 확인
echo 5번 블록감시 (1시간 단위, 블록이 같다면 서버와 클라이언트를 재실행합니다.)
echo 6번 sighash, pub키, priv(마이너)키 조회
echo 7번 종료
echo -----------------------------------------------------
echo.
set /p Input= 번호를 선택하세요:
if %Input% equ 1 docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Client\docker-compose.yaml down & docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Server\docker-compose.yaml down
if %Input% equ 2 docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Client\docker-compose.yaml up -d & docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Server\docker-compose.yaml up -d
if %Input% equ 3 docker exec -it creditcoin-client ./ccclient tip
if %Input% equ 4 docker exec -it sawtooth-validator-default sawtooth peer list --url http://rest-api:8008
if %Input% equ 5 goto _loop2
if %Input% equ 6 echo sighash & docker exec -it creditcoin-client ./ccclient sighash & echo. &echo pubilc 키 & docker exec sawtooth-validator-default cat /etc/sawtooth/keys/validator.pub & echo. & echo Miner(Priv)키 & docker exec sawtooth-validator-default cat /etc/sawtooth/keys/validator.priv
if %Input% equ 7 exit
if %Input% LSS 1 echo 사용할 수 없습니다.
if %Input% GTR 7 echo 사용할 수 없습니다.
goto _loop


:_loop2
echo 블록 감시 실행 (1시간 마다 확인 합니다.)
@echo off
docker exec -it creditcoin-client ./ccclient tip > temp.txt
set /p Cbn=< temp.txt
del temp.txt
echo %Cbn%

timeout 3600 > NULL

docker exec -it creditcoin-client ./ccclient tip > temp.txt
set /p Pbn=< temp.txt
del temp.txt
echo %Pbn%

if %Cbn% == %Pbn% (
echo ****블록이 1시간전과 같습니다.****
echo 클라이언트, 서버 down
docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Client\docker-compose.yaml down
timeout 2 > NULL
docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Server\docker-compose.yaml down
timeout 2 > NULL
echo 클라이언트, 서버 up
docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Client\docker-compose.yaml up -d
timeout 2 > NULL
docker-compose -f C:\CreditcoinDockerCompose-Mainnet-dev\Server\docker-compose.yaml up -d)

if not "%Cbn%" == "%Pbn%" echo 블록 변화를 감지하였습니다.

goto _loop2

5 Likes

정말 고맙습니다. 유용하게 잘쓸게요!!
큰 도움 되었습니다

혹시 블록 감시가 무슨 뜻인지 질문드려도 될까요?
블록이 같다는 말을 이해하지 못했습니다

감시 기능은 1시간전과 현재 블록의 높이가 같다면 서버를 재실행하는 것을 반복 하는 작업입니다!

블록이 같다 = 1시간 전과 현재 블록 높이가 같다. = 블록 상승이 되지않았다 = 서버를 재실행하여 새 peer를 잡도록 한다.

입니다!

구현이 정말 간편하네요! 감사합니다!!

꼭 필요한 기능만 구현해 감사 합니다. 잘 사용해 보겠습니다.