1편을 쓰고 난 다음 2편을 바로 쓰려고했으나
마이닝 과정에서 난이도 조정부분에서
난항을 겪는 나머지 몇일을 고민하다가안녕하세요 @otac 입니다
드디어 해결을 하게 되었습니다
1편에서는 단순 마이닝을 성공했으나
비트코인의 난이도를 그대로 적용했더니
너무나도 오래걸려 테스트를 못하는 지경이라
비트코인의 난이도 알고리즘은 그대로 쓰면서
실제 목표값 (bits) 에 약간의 핸디캡을 주는방향으로
해결하게 되었습니다
프린이라 난해한 코딩법은 양해를 부탁드리며
지적은 받지 않겠습니다. ㅂㄷㅂㄷ
마지막 부분에
k = k + handicap;
부분이 보이실텐데 목표값을 확 올려주어
더 쉽게 찾을 수 있도록 했습니다.
그리고 제가 제일 멘탈이 나갔던 부분이 있는데요
바로 난이도 조정입니다.
우리가 흔히 비트코인의 난이도라고 부르는것은
비트코인 내부적으로 아무 의미가 없습니다.
해싱 목표값인 bits 를 보기편하게 수치화 시킨것에
불과한데요. 문제가 그 어디를 뒤져보아도
다음 난이도를 구하는 공식만 있을뿐
제가 필요한건 bits 값인데
난이도를 다시 bits 로 역연산 하는 수식이
존재 하지 않았습니다.
난이도는 bits->target->difficulty 로 구하는데말이죠
그래서 bits에서 난이도를 구하는 공식인
이걸 역으로 풀어보면 어떨까 해서 고민해보았는데
수학에 숫자보다 영어가 많이나올떄 그만둔 저로써는
미지의 세계였습니다.
그래서 텔레그램방에서 자칭 서울대 수학과라는
친구에게 물어보았는데요.
FAIL !
@noctisk 님께도 물어보았는데요
또 FAIL
고민에 고민을 거듭하고
식음을 전폐하며 점점 멘탈이 으깨지려할때
어김없이 질문 찬스를 썼습니다
비트코인 코어에서 관련 함수를 알려주셨고
0x008000 같은 숫자도 영어도 아닌
괴랄한 코드를 하나하나 node 로 바꾸어서@ludorum 그는 도덕책..
완성했습니닼ㅋㅋ으엌ㅋㅋㅋ엌ㅋㅋㅋ
역시 정답은 교과서에 다 있습니다.
이걸로 약 3일을 해매었는데
드디어 해결했습니다
블록타임 10초
난이도조정주기 5블럭으로 설정을하고
const blocktime = 10; //블록타임 (초로 표기)
const retarget_block = 5; //블록마다 체크
const retarget_block_ntime = blocktime * retarget_block;
그리고 비트코인처럼 최대 난이도 상승은 4배.
최대 난이도 하락도 4배 제한을 걸고..
실행 가즈아!!!!!
SUCCESS!!
으아 드디어 채굴부분이 끝났습니다
다음 시간에는 공개키 알고리즘으로
지갑을 만들어보고 블럭보상을 받아
UTXO 를 생성하여 코인을 전송하고
트랜잭션을 검증해보겠습니다
감따합니다
감사합니다 저도 보면서 공부하고 모르는거 있으면 오탁님께 여쭤봐야겠어요~
내용 삭제합니다. 이제 잘 지내봅시당ㅎㅎ
네 억울합니다 ㅋ 단톡방에 말할까 말까 하다가 일부러 말했네요
읽고는 있지만 이해는 안가고 ㅋㅋ 뭔가 모르지마 아 ~ 히고 있는 1인 입니다 ㅎㅎ;(
저도잘모릅니다 하나씩 천천히...
오탁님 오랜만에 왔는데,
무슨말인지 하나도 모르겠네요 ㅋㅋㅋㅋ
위 말처럼 한국말인가요?
그래도 뭐 잘 되고 있는거 같아요 :D
엇 쿤다니님 오랜만이에요 ㅋㅋㅋㅋㅋ
쉽게쓴거같이 보이지만 저 몇날 몇일 이거만했습니다 ㅂㄷㅂㄷ
우와.... 대단하십니다 ㅎㄷㄷㄷ
감사합니다 ^0^
이것도 이해가 되진 않지만 훌륭하네요 ㅋㅋ
아 맞다 달걀님 저 지금 수원인데 접선할까요 ㅋㅋㅋㅋㅋ
안그래도 수술하러 올라오신다 하셨을 때 스케줄 좀 내볼라했는데 ㅜ
출장준비때미 쉽지 않네요오옹ㅜㅜ
아, 저 신혼집 인천으로 오게돼서 수원은 가끔 가용 ㅋㅋ 언제 내려가세요??
능력자 이시군요 ....
아닙니다 허허허허
칭찬감사합니다 (__)
오탁님 블록체인 개발자로 변신했군요 코인좀 주세여 ㅋㅋ
코인 전송기능이 없는데요.. ( ..)
otac 코인 파이팅~~
카톡 풀봇 잘 모아놓고 있겠습니다~!!
저도 뭐가 뭔지 잘 모르지만 그냥 재미 있어 보입니다 @.@
아이고~~ 이 수준은 내 머리로는 도무지 못 따라할 것 같아요.
짱짱맨 호출로 왔습니다!
한주 수고하세요
코인거래소인 고팍스에서 멋진 이벤트중이네요!
https://steemit.com/kr/@gopaxkr/100-1-1
머지않아 블록체인 개발자가 되어계실것 같습니다. 이미 되신거나 마찬가지네요. ㅎ 젊음보다 이제는 제가 가지기 힘들어보이는 뜨거운 열정이 부럽습니다.
초보위한 포스팅도 인기잇으실것 같네여
글 내용이 무시무시하네요~~