[가상화폐] 이더리움 프로토콜 매니져로부터 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
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
101 정보 토큰 락업(Lock-up)은 스캠 ICO의 완전한 방지책일까? - (경제학으로 읽는 비트코인 이야기 - 7) icon Work4Block 06-28 5,300
100 정보 문과생, 블록체인업체에 취직하다 - (5) 블록체인 번역자들이 종종 범하는 실수 icon Work4Block 06-28 3,207
99 정보 문과생, 블록체인업체에 취직하다 - (4) "그집 아들, 다단계 회사 다닌다면서요?" icon Work4Block 06-28 3,317
98 가상화폐 문과생, 블록체인업체에 취직하기 - (3) 저도 블록체인 업계에서 일하고 싶어요! icon Work4Block 06-28 3,554
97 정보 문과생, 블록체인업체에 적응하기 - (2) 기자간담회 냐 밋업이냐? icon Work4Block 06-28 2,719
96 정보 문과생, 블록체인업체에 취직하다! - (1) icon Work4Block 06-28 2,997
95 가상화폐 고장난 웹2.0, 패러다임 전환의 시기 icon Work4Block 06-27 3,700
94 가상화폐 Qx, QDex 및 Qrypto라는 3 개의 새로운 프로젝트 icon Work4Block 06-26 3,374
93 가상화폐 [Ethereum] Ethernaut 풀이 - 3.Coin Flip icon Work4Block 06-25 3,001
92 가상화폐 [Ethereum] Ethernaut 풀이 - 2.Fallout icon Work4Block 06-25 3,952
91 가상화폐 [Ethereum] Ethernaut 풀이 - 1.Fallback icon Work4Block 06-25 3,294
90 가상화폐 Overall Analysis of IOTA (아이오타 포괄적 분석) icon Work4Block 06-22 3,046
89 가상화폐 [Ethereum] Ethernaut 풀이 - 0.Hello Ethenaut icon Work4Block 06-21 3,022
88 가상화폐 [Ethereum] Ethernaut 소개 icon Work4Block 06-21 3,913
87 정보 [개념 정리] 온 체인(Onchain), 오프 체인(Offchain)이 무엇인가? icon Work4Block 06-21 4,307
86 가상화폐 나의 이더리움 분석기 - 중간정리 - 2 icon Work4Block 06-21 3,652
85 가상화폐 이더리움이 go를 사용하는 이유(개인적인 생각) icon Work4Block 06-21 2,817
84 가상화폐 [Ethereum] Smart Contract 개발을 위한 환경 세팅 (Remix, Ganache) icon Work4Block 06-19 8,478
83 가상화폐 나의 이더리움 분석기 - 중간정리 - 1 icon Work4Block 06-19 5,779
82 가상화폐 이더리움 프로토콜 매니져로부터 insertChain함수 호출 까지(Fetcher) icon Work4Block 06-18 3,042