노드의 구조
노드 코드를 읽으면 크게 다음 구성 요소들로 구성되어 있어요. 기억 나는대로 가져오긴 했는데 대략 맞을 거에요.
1. P2P 모듈: 노드들끼리 서로 연결되어서 정보를 주고 받기 위해서 통신하는 모듈이 있어요.
2. 멤풀: 트랜잭션을 전파하기 위해서는 아직 블록에 포함되지 않은 트랜잭션들을 메모리에 들고 있어요. 이걸 멤풀이라고 해요.
3. 컨센서스 모듈: 노드들끼리 블록을 어떻게 합의할지 결정하는 모듈이에요.
4. 디비 모듈: 블록체인 블록 데이터, 상태 데이터를 저장하고 읽어오는 모듈이에요.
5. 트랜잭션 실행 모듈: 비트코인이나 이더리움이나 트랜잭션이 내부적으로 vm위에서 돌아가는 방식이라서 복잡한 실행 모듈이 있어요
6. RPC 모듈: 외부에서 정보를 얻거나, 트랜잭션을 보낼 때 사용하는 RPC를 처리하는 모듈이에요. |