이더리움의 core/eth 패키지
오늘은 eth패키지와 core패키지를 분석해보았습니다.
이 두 패키지는 아래 그림처럼 뗄래야 뗄수 없는 관계네요.
몇몇 구조체를 정리해본것인데요, eth패키지에 해당하는 Ethereum, LesServer, Protocol매니져와 core패키지에 해당하는 TxPool과 blockchain구조체가 그림과 같이 서로 얽혀있습니다.
블록체인에 합의엔진/ 처리자 / 검증자 필드가 보이고, 트렌젝션 풀에는 signer 필드가 눈에 띕니다. 코어 패키지는 합의를 구현한다더니 필드의 대부분이 합의에 관련된 내용이네요.
eth 패키지는 이더리움 프로토콜을 구현한다는 주석에 걸맞게 합의를 제외한 거의 모든 기능을 다가지고 있네요. Full/Light 노드와 p2p노드 관련된 부분이 눈에 먼저 들어오고. Subscription이나 feed같은 이벤트 시스템도 눈에 들어오네요
오늘 그림을 보니, geth개발자들이 누구나 쉽게 새로운 체인을 생성할수 있도록 코드도 플랫폼화 한것같다는 생각이 문득 드네요.