[가상화폐] 이더리움 프로토콜 매니져로부터 insertChain함수 호출 까지(Fetcher)

이더리움 트렌젝션의 실행 (https://steemit.com/ethereum/@sigmoid/4mtmow) 을 통해
이더리움 트렌젝션이 insertChain이라는 함수에서 시작하며, 트렌젝션의 실행은
결국 어카운트의 잔고를 업데이트하는 것임을 확인하였습니다.

이번엔 insertChain함수는 언제 호출되는지를 분석해 보았습니다.
우선 이더리움 프로토콜 매니져의 생성과 실행은 간단하게 아래 그림에서 확인가능합니다.
geth가 실행되면 NewProtocolManager함수와 manager.Start함수가 실행됩니다

image.png

  1. NewProtocolManager함수에서 이더리움 프로토콜 매니져를 생성하면서 노드간의 데이터를 동기화 하기 위해 Fetcher를 생성하고 자신의 블록체인의 insertChain함수를 등록해둡니다.
  2. 프로토콜 매니져가 시작되면 아래의 그림처럼 총 4개의 go루틴이 시작됩니다 그중 syncer루틴에서 Fetcher를 실행하게 됩니다.
  3. fetcher의 loop루틴에서 priority queue로 부터 블록을 가지고와 등록된 insertChain함수를 호출합니다.

하나더, 그럼 큐에는 블록을 누가 넣지?? 라는 생각이 들어 찾아보니,
p2p 노드의 핸들러에서, 등록된 채널을 통해 큐로 블록을 넣어줍니다.

p2p 노드로 블록을 전달하는 것은 마이닝 - 트렌젝션이 풀에서 블록에 포함되기까지(https://steemit.com/ethereum/@sigmoid/2mnkfg) 에서 다룬적이 있었습니다.

이제 조금씩 글들이 연결고리를 가지게 되는것 같습니다.

image.png

지극히 개인적으로 이더리움 주석 한글화 프로젝트를 진행하고 있습니다.
https://github.com/NAKsir-melody/go-ethereum

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
68 가상화폐 (코인비평) 싸이월드가 암호화폐를 발행하려면 알아야 할 점 - 1편 icon Work4Block 08-11 2,731
67 가상화폐 이오스 지갑 SIMPLEOS (심플오스/심플이오스)에 대해 알아보자 02 icon Work4Block 08-10 2,380
66 가상화폐 이오스 지갑 SIMPLEOS (심플오스/심플이오스)에 대해 알아보자 01 icon Work4Block 08-10 2,269
65 가상화폐 ChinaJoy에 참가한 엘라스토스와 댑(BIT.GAME, ViewChain, ioeX, Hashworld) icon Work4Block 08-10 2,230
64 가상화폐 KEEP!T Column 비트코인 뽀개기(9편) icon Work4Block 08-09 2,328
63 가상화폐 KEEP!T 블록체인 뉴스:7/21 - 비트코인의 학술적 유래 (최종) icon Work4Block 08-01 3,501
62 가상화폐 KEEP!T Column 비트코인 뽀개기(7편) icon Work4Block 07-27 2,732
61 가상화폐 KEEP!T 블록체인 뉴스:7/21 - 비트코인의 학술적 유래 (6) icon Work4Block 07-23 2,399
60 가상화폐 아이젝 airdrop 참여하고 RLC 토큰 받아가기~!! 컴퓨터만 켜두면 OK icon Work4Block 07-20 3,131
59 가상화폐 문과생, 블록체인업체에 취직하기 - (3) 저도 블록체인 업계에서 일하고 싶어요! icon Work4Block 06-28 2,994
58 가상화폐 고장난 웹2.0, 패러다임 전환의 시기 icon Work4Block 06-27 3,126
57 가상화폐 Qx, QDex 및 Qrypto라는 3 개의 새로운 프로젝트 icon Work4Block 06-26 2,887
56 가상화폐 [Ethereum] Ethernaut 풀이 - 3.Coin Flip icon Work4Block 06-25 2,503
55 가상화폐 [Ethereum] Ethernaut 풀이 - 2.Fallout icon Work4Block 06-25 3,465
54 가상화폐 [Ethereum] Ethernaut 풀이 - 1.Fallback icon Work4Block 06-25 2,748
53 가상화폐 Overall Analysis of IOTA (아이오타 포괄적 분석) icon Work4Block 06-22 2,555
52 가상화폐 [Ethereum] Ethernaut 풀이 - 0.Hello Ethenaut icon Work4Block 06-21 2,515
51 가상화폐 [Ethereum] Ethernaut 소개 icon Work4Block 06-21 3,275
50 가상화폐 나의 이더리움 분석기 - 중간정리 - 2 icon Work4Block 06-21 3,152
49 가상화폐 이더리움이 go를 사용하는 이유(개인적인 생각) icon Work4Block 06-21 2,349