esn custom_top_html:no
default debug random = 0 / type = READ / detected = READ
개발
2020-07-04 07:50:13

오랜만에 쓰는 풀 개발 이야기

오랜만에 개발 이야기를 씁니다.

 

이더리움 풀을 운영하는 경우, geth 노드로부터 전달받을 수 있는 마이닝 작업을 getWork JSONRPC 호출을 통해 가져오고, 이렇게 가져온 마이닝 작업(getWork)를 풀에 연결된 마이너에게 뿌려 주는 방식을 사용하고 있습니다.

 

대표적인 예로 open-ethereum-pool의 경우, 풀에 연결된 노드에 getWork JSONRPC 요청을 120ms 간격으로 받아서

새로운 마이닝 작업이 발견되면 이를 마이너에게 뿌려주는 방식이죠.

 

https://github.com/sammy007/open-ethereum-pool/blob/master/config.example.json#L12 (오픈-이더리움-풀 소스코드의 기본 값이 120ms)

 

이를 도식화 해보면 새로운 마이닝 작업은 3단계를 통해 들어오게 되는 것입니다.

(풀) -- JSON RPC CALL --> (노드) -- JSON RPC 응답 --> (풀) --> JSON RPC notify --> (마이너)

 

그러나 이 방식 보다는 다음과 같은 방식을 쓴다면 이는 2단계가 되어 마이닝 작업이 좀 더 빠르게 전송이 될 것입니다.

 

(노드) -- 새작업 정보 알림 --> (풀) -- JSON RPC notify --> (마이너)

 

응답 속도가 대략 10ms라고 했을때에, 기존 3단계의 경우 120 ms + 10ms * 3 = 150ms 즉, 최소 지연이 30ms ~ 최대 지연 150ms

notify 방식은 지연이 없으므로 2단계 응답속도인 10ms * 2 = 20ms 정도의 응답 속도를 가지게 됩니다.

 

이러한 푸쉬 방식을 2018년까지 geth 노드에서 제대로 지원하지 않고 있다가 2018년 8월부터 --miner.notify 옵션을 통해 지원하고 있습니다.

푸쉬 notify 소스코드 위치 https://github.com/ethereum/go-ethereum/blob/master/consensus/ethash/sealer.go#L359-L366

커밋 2018년 8월 8일 https://github.com/ethereum/go-ethereum/commit/f0998415ba9a73f0add32f9b5aed2aec98b9a7f3

Geth v1.8.14 버전부터 지원 시작. (2018년 8월22일)

 

다만 geth의 --miner.notify 옵션을 open-ethereum-pool에서 지원하지 않고 있기때문에 이를 지원하려면 open-ethereum-pool 소스코드를 수정해야 합니다. (제가 기존 소스코드를 참조해서 고친 다음 소스코드를 참조하실 수 있습니다.)

https://github.com/EthersocialNetwork/open-ethereum-pool/commit/8a566fe37e246a8203fd1c6fea246cb53cfb7dc4

 

이를 풀에 실제로 적용하여 보니 다음과 같은 장점이 있었습니다.

- push notify 하는 방식이 좀 더 빠르다.

- 아주 가끔은 push notify하는 방식이 job을 세개 연속적으로 보내는 경우, 기존 방식은 두개만 보내는 경우가 있다. 즉, 기존 방식은 120ms 간격으로 getwork를 통해 끌어오면서 시간 지연등의 이유로 마이닝 job을 놓치는 경우가 있다.

- 여러 노드를 통해서 push notify하는 것이 가능하기때문에, 여러 노드중에 가장 빠르게 push notify 하는 작업이 풀을 통해 보내지게 된다.

 

실제로 다른 풀과 비교를 해보니 아주 미세한 차이로 pool 작업이 먼저 도착하는 것을 확인할 수 있었습니다.

 

open-ethereum-pool을 운영하시는 분들은 이를 참고하시기 바랍니다~

 

※추가: 급조한 PR입니다만 open-ethereum-pool 깃허브 PR로도 넣어보았습니다. https://github.com/sammy007/open-ethereum-pool/pull/457

1,532

ethminer님의 서명

주업은 오픈소스 프로그래머

 

ESN 디스코드 - https://discord.gg/hqHm69E

ESN 텔레그램 - https://t.me/ethersocialofficial

 

ESN 주소: 0x0c74e46b115e19726997dd559d2b6ff1bfb79af6

ETH 주소: 0x89307cb2fa6b9c571ab0d7408ab191a2fbefae0a

댓글 1

ESN

이더소셜 네트워크

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
공지 ESN ESN 추천글, 채굴풀, 소프트웨어 모음 30 34 57441
ESN운영
2018.02.02
공지 고구마 케익 추첨 이벤트 (1명) (~8/20) 4 newfile 4 319
ESN경매
2020.08.14
공지 땡글 경매! 문화상품권 3만원권(~8/17) 4 updatefile 8 490
ESN경매
2020.08.14
공지 땡글닷컴 출석체크 이벤트(8월) 40 16 3377
ESN경매
2020.08.03
공지 리포트 ESN 7월 리포트 file 7 1698
ESN운영
2020.07.31
공지 ESN BitZ 거래소 관련 공지사항 9 5 668
ESN운영
2020.07.06
공지 게시판 캐시 적립 정책 변경 안내 (2019/12/20 시행) 48 18 1893
관리자
2019.12.20
공지 로그인이 안되시는 분은 문의해주시기 바랍니다. 12 7 4460
땡글개발자
2019.08.21
3945 질문 ESN은 DTA 코인과 같은 형식의 디지털 자산인가요?   안녕하세요, 외사입니다.   금일 업비트 소식을 확인하다 복구 시도 불가능한 오입금 유형 업데이트라는 글을 확인했습니다.   잘 모르는 분야라 공부한다는 느낌으로 글을 보고 있었는데,    ESN이라는 글이 나와... 10 updatefile 1 258
외사
2020.08.14
3944 ESN 원화로 ESN 구입하는 방법 (feat. 도브월렛)   안녕하세요 ESN 경매입니다.      ESN 구매 관련 글이 증가하는 듯하고,   원화 입금이 가능한 도브월렛을 통한 ESN 구매법을 가져왔습니다.     순서는 다음과 같습니다!     1. 회원가입 2. 거래용 지갑 생성 3. ... 14 updatefile 6 531
ESN경매
2020.08.13
3943 ESN 도브웰렛 사용관련 문의         아래 '외사'님 글을 보고   도브월렛 가입했습니다     혹시 원화입금은 안되는 건지요?   된다면 방법좀 알려주셨으면 합니다..     원화입금 안되는 거라면, 비트코인등을 타거래소 통해서 이체해야하는건... 5 0 151
블루코인
2020.08.13
3942 ESN 불바다님의 글에 대한 제 사견입니다. 불바다님이 제가 주장하는 의견에 힘을 실어 주셔서 짧게나마 구성중인 로드맵 간략하게 올립니다.   9월 안에는 보유자분들의 의견을 최종적으로 듣기 위해 에센셜님이 정리중이고 천재성곤님이 기술검토중이십니다.... 19 17 1448
컴빠
2020.08.09
3941 ESN ESN 리브랜딩이 필요한 시점 아닌가요... < 땡글체인 로고,  DGLE Chain >   ESN은 이름부터 잘못되었고   사기꾼 쌍둥아빠와 그 형제가 해외 거래소 차리면서 거기 기축으로 사용하려고 만든 경향이 큰데 결국 사기치다가 해외거래소 불발나고,  먹튀한 코... 9 file 9 1192
불바다
2020.08.09
3940 ESN [도브월렛 경험담]원화입금 ESN 구매 완료!   ESN을 사고싶어서 장터에도 글을 올려봤지만 연락 주시는분이 없더라구요..   그렇다고 Bit-Z에 비트를 보내고 번거로운 일을 하기 싫어서 주저 하고있었는데.   도브월렛에서 원화 입금이 가능하다는 소리를 듣고 ... 13 file 9 1658
외사
2020.08.05
3939 ESN 답답하신 지지자분들께 드리는 짧은 이야기입니다. ※ 일단 이 글은 제 개인적인 의견일 뿐 운영위원회에서 게재승인을 받은 글이 아님을 말씀드립니다.    추후 문제가 될 경우 일부 내용이 수정될 수 있습니다.   저는 운영위원 중 한 사람으로 ESN의 작은 가치라도  ... 14 15 1991
컴빠
2020.08.03
3938 ESN 코인가격이 상승함에 따라 거래소도 하나씩 새로 오픈할것같습니다. 이기회에 땡글에 광고 요청하는 신규 코인거래소 대표님들과 광고비 딜을해서 esn을 상장해달라고 하는건 어떨런지요.. 대신 그에걸맞는 파격적인 지원도 해줘야할거구요.. (... 13 3 418
da_mc
2020.08.03
3937 리포트 ESN 7월 리포트 ESN 7월 월간 리포트 출간을 알려드립니다. 오늘도 내일도 ESN 발전을 위해 최선을 다하겠습니다. -ESN 운영- file 7 1698
ESN운영
2020.07.31
3936 ESN Esn코인을 구매했었는데요   코인구매후 몇년 지나고 찾아보려고 하는데요. 아무리 봐도 몰르겠어요ㅜㅜ 도움주실분 계신가요? 아마 처음 무슨 이벤트인가 할때 삿던거 같거든요.블럭세일기간에 구매 했거든요                   4 0 554
역대급
2020.07.28
3935 ESN [안내] pool.esn.today 시세 표시 정상화 문의 주신분의 요청에 따라  https://dovewallet.com/ko/trade/spot/esn-krw 상기 주소의 비둘기지갑의 시세대로 표시되도록 수정하였습니다. 이용에 참고하시기 바랍니다.                           file 3 168
컴빠
2020.07.27
3934 ESN 스와이프 바낸 카드 발행을 보면서 ESN도 카드가 있었죠...   우리나라에서는 규제 때문에 ESN과 암호자산을 사용할수있는 카드를 못쓰게 하는 바람에   좋은 카드가 잠시 사용되다가 사장되었는데... 해외에서는 스와이프를 바낸이 인수해서  유럽과 아시아에 카드를 발행했네... 0 169
불바다
2020.07.27
3933 ESN ESN 네트워크 해시 상승!!       평균 7GH 정도 유지 하더니 해시가 많이 올랐네요. 좋은 징조 입니다.^^                     4 file 1 218
우리동네
2020.07.22
3932 ESN ESN 온라인 줌 후기   안녕하세요.    7월 12일 저녁 7시부터 약 한시간 반정도 조촐하게 ESN 줌 밋업이 진행되었습니다.   순서로 보면 간단하게 2기 운영위 소개 및 ESN 현황을 간단히 공유 후에, 궁금해하시는 사안에 대해서 물어보는... 8 9 1224
ESN매니저
2020.07.14
3931 ESN ESN 온라인 ZOOM 밋업 신청 안내(밋업신청 ~ 7/12 18:00까지) 안녕하세요. ESN운영입니다. ESN 온라인 ZOOM 밋업에 신청 안내해드립니다. 밋업에 참여하실 분들은 아래 양식에 신청주세요. 밋업 참여 코드를 보내드리겠습니다. 밋업신청하기 밋업 신청마감은 7/12(일) 18:00까지 ... 2 5 828
ESN운영
2020.07.10
3930 ESN <땡글 경매! 구글 홈 미니 AI 스피커> 이벤트 당첨 후기입니다. 땡글 경매! 구글 홈 미니 AI 스피커 이벤트에 당첨 됐습니다.   좋아요 갯수가 20개가 안되서 한번 연장된 상태에서 마지막날인줄 알고 막판에 도전했었는데 좋아요가 20개가 안되면 일주일씩 무한정 연장되더군요 ㄷ... file 4 67
블리치
2020.07.08
3929 ESN BitZ 거래소 관련 공지사항 안녕하세요. 운영위입니다. 최근 BitZ거래소의 ESN 상폐 소식 관련하여 안내드립니다. 이번 BitZ 거래소의 ESN 상폐는 ESN 운영위로 공식적인 이야기없이 BitZ거래소에 의해 일방적으로 진행되었습니다. 현재 BitZ ... 9 5 668
ESN운영
2020.07.06
3928 질문 헉~ ESN 상장폐지인가요? 오랫만에 BIT-Z에 들어갔더니 ESN 거래가 없어지고 지갑으로 들어와 있길래 보니까 뭔가하고 찾아보니 이번에 대규모로 코인들이  정리된거 같습니다. 아.... ㅠㅠ;  6개월간 출금은 할 수 있다고 하는데 .... 이거 ... 16 8 1192
바닥에살아도하늘을보는광부
2020.07.04
개발 오랜만에 쓰는 풀 개발 이야기 오랜만에 개발 이야기를 씁니다.   이더리움 풀을 운영하는 경우, geth 노드로부터 전달받을 수 있는 마이닝 작업을 getWork JSONRPC 호출을 통해 가져오고, 이렇게 가져온 마이닝 작업(getWork)를 풀에 연결된 마이... 1 6 261
ethminer
2020.07.04
3926 ESN ESN개발은 어떻게 진행되는지.. 메인넷을 안하는지 궁금합니다.   적은 수량의 ESN을 들고 있습니다, 시간이 지나면 조금이라도 가격이 오를줄 알았지만,   이제 거래량도 0 BTC에  거의 1~2원 이라는 100% 가격 폭등과 폭락을 보고 있네요.   땡글코인이라 예전에 조금이라도 주워... 3 0 256
외사
2020.07.04
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 198 Next
/ 198
default debug random = 0 / type = READ / detected = READ