Geth 소스코드 분석 3 - 시작지점 살펴보기
·
blockchain/geth 소스코드 분석
이제부터는 코드를 가져올 예정이기 때문에 글 하나하나가 굉장히 길 것 같다. 그럼 geth 클라이언트의 시작점은 대체 어디일까? main.go 파일을 찾아야 하는데 다양한 패키지가 있고 많은 main.go가 있다. geth 클라이언트를 실행할 때 터미널에서 geth ~~~ 명령어를 입력하게 된다. 이것과 관련된 명령어를 치는 부분인 cmd/geth/main.go 가 바로 시작점이다. 본격적인 흐름을 보기 전에 자주 나오는 타입에 대해서는 한 번 보고가는게 좋을 것 같다. main() 첫 시작 함수인 main() 여기서는 app.Run 을 실행하고, 에러가 있으면 에러 출력과 함께 종료한다. 이 때 app.Run의 argument인 os.Args 는 geth 명령어를 입력할 때 들어오는 값이다. func ..
Geth 소스코드 분석 2 - 몇 가지 타입 살펴보기
·
blockchain/geth 소스코드 분석
지난 글에서 geth 클라이언트를 실행할 때 어떤 일이 일어나는지, 시작점부터 실행 순서대로 보도록 하겠다고 했다. 하지만 코드를 살펴본 결과 들어가기에 앞서 geth에서 사용하는 몇 가지 타입에 대해 살펴보면 이해가 더 쉬울 것 같다. 이번 글 부터는 이해를 위해 필요한 코드가 있으면 전부 가져올 예정이라 앞으로의 글들은 좀 길 예정이다. cli 패키지를 살짝 알아보고 아래 4가지 타입을 먼저 확인해보도록 하겠다. - cli 패키지의 App, Context - Node 패키지의 node - ethapi 패키지의 Backend cli 패키지 import 문을 보면 https://github.com/urfave/cli/v2 에서 가져온 것을 확인할 수 있는데,, # https://cli.urfave.org..
Geth 소스코드 분석 1 - 시작하기 및 전체 구조
·
blockchain/geth 소스코드 분석
Geth 소스코드 분석을 해볼까 한다. Geth 소스코드를 분석한 한글 자료가 있긴 하지만 오래된 자료들이 많다. 게다가 대부분의 자료가 중요한 업데이트 중 하나인 '더 머지' 업데이트 전 자료기 때문에 바뀐 점이 꽤나 많을 것 같다. 이더리움은 계속해서 업데이트 되기 때문에 그런 자료들을 참고해서 나도 한 번 코드를 살펴보려고 한다. 아마 최신 자료가 별로 없는 건, 블록체인 업계에 신규 유입되는 개발자들이 많지 않고 또 과거에 비해 다양한 체인들이 많아져서 골고루 분포하기 때문이지 않을까 생각해본다.. 좋은 자료 및 참고 자료 https://github.com/NAKsir-melody/go-ethereum-korean https://docs.google.com/presentation/d/1kKwMyi..