채굴에 블록 템플릿 사용
블록 템플릿을 사용하는 방법에 대해 약간 혼란 스럽습니다. 난 난이도에 맞는 해시를 얻을 때 까지이 함수 를 호출해야한다고 생각하게 만드는 이 질문 을 보았습니다 . 기본적으로 블록 템플릿을 채굴하기 위해 수행해야하는 함수 호출은 무엇입니까? 그러면 제출 블록을 호출 할 수 있습니다.
이것이 모호한 질문이라면 죄송합니다.
나는 또한 이 질문을 보았지만 다시 호출해야 할 함수에 실제로 대답하지 않습니다.
더 많은 컨텍스트를 위해 bazel 저장소에서 monero를 호출하고 있으므로 상황이 약간 복잡하고 복잡합니다.
답변
블록 템플릿을 사용하는 방법에 대해 약간 혼란스러워합니다. 기본적으로 블록 템플릿을 채굴하기 위해 수행해야하는 함수 호출은 무엇입니까? 그러면 제출 블록을 호출 할 수 있습니다.
블록 템플릿은 광부가 작업 (반복 해싱)을 수행하여 솔루션 (네트워크 난이도를 충족하는 해시)을 찾은 다음 네트워크에 제출할 수있는 블록에 대한 템플릿입니다.
따라서 먼저 광부는 일반적으로 데몬 메소드 get_block_template을 사용하여 블록 템플릿을 얻습니다 .
다음으로 광부는 nonce 공간 1을 업데이트하고 해시 2를 수행합니다 (RandomX 해시 함수 사용). 결과 해시 (단지 숫자)가 네트워크 난이도를 충족하면 데몬 메소드 submit_block을 사용하여 블록을 네트워크에 제출할 수 있습니다 .
마지막으로 피어 노드는 제안 된 블록 해시가 네트워크 난이도를 충족하는지 확인합니다. 다른 채굴자가 더 많은 작업이 완료된 유효한 블록 (또는 블록 체인)을 제출하지 않으면 60 블록 후에 채굴자가 보상을받습니다.
1 nonce 공간은 블록 헤더의 nonce 필드 또는 마이너 트랜잭션의 예약 된 공간의 임의 조합 일 수 있습니다.
2 실제로 해시되는 것은 블록 해싱 blob으로, 블록 헤더의 연결, 블록 트랜잭션의 머클 루트 해시 및 txs ( src ) 수의 변수입니다 . 채굴자는 반환 된 블록 해싱 Blob을 직접 사용 get_block_template
하거나 블록 템플릿 Blob을 사용하여 블록 해싱 Blob을 직접 구성 할 수 있습니다. 후자는 광부가 광부 tx의 예약 된 공간을 변경하는 경우 필요합니다.