분류 전체보기

저번 글에서 geth 클라이언트를 실행하면 크게 세 가지 함수인 prepare, makeFullNode, startNode가 실행되는 것을 보았다. 이번 글에서는 makeFullNode 함수를 볼 예정이다. // makeFullNode loads geth configuration and creates the Ethereum backend. func makeFullNode(ctx *cli.Context) (*node.Node, ethapi.Backend) makeFullNode 함수의 주석을 보면 geth 설정을 불러오고 이더리움 백엔드를 만든다고 한다. 이더리움 백엔드는 타입에 대해 다룬 두 번째 글에서 살펴본 backend 타입을 생각하면 된다. cli.Context를 받아서 node.Node와 eth..
최근(2024년 2월 5일 기준) 가장 핫한 키워드라 하면 "파캐스터" 근데 사람들이 하고 있는 앱이름은 "Warpcast" (워프캐스트) 왜 사람들이 파캐스터라고 할까보니 워프캐스트는 파캐스터의 클라이언트다.. Farcaster(파캐스터)가 뭘까? https://www.farcaster.xyz/apps -> 공홈 https://docs.farcaster.xyz/ -> 공식 문서 참고해서 정리해보겠다.. 파캐스터는 이더리움에 만들어진 탈중앙화된 소셜 네트워크라고 한다. 그리고 오픈소스 프로토콜이라 누구나 가져다가 데이터를 읽고 쓰는 앱을 만들면 된다. 파캐스터 = 이더리움에 만들어진 탈중앙화된 소셜 네트워크이자 오픈소스 프로토콜 사용자들은 그들의 계정을 갖고 있고, 다른 유저들과 상호작용하며 다른 앱으로..
이제부터는 코드를 가져올 예정이기 때문에 글 하나하나가 굉장히 길 것 같다. 그럼 geth 클라이언트의 시작점은 대체 어디일까? main.go 파일을 찾아야 하는데 다양한 패키지가 있고 많은 main.go가 있다. geth 클라이언트를 실행할 때 터미널에서 geth ~~~ 명령어를 입력하게 된다. 이것과 관련된 명령어를 치는 부분인 cmd/geth/main.go 가 바로 시작점이다. 본격적인 흐름을 보기 전에 자주 나오는 타입에 대해서는 한 번 보고가는게 좋을 것 같다. main() 첫 시작 함수인 main() 여기서는 app.Run 을 실행하고, 에러가 있으면 에러 출력과 함께 종료한다. 이 때 app.Run의 argument인 os.Args 는 geth 명령어를 입력할 때 들어오는 값이다. func ..
지난 글에서 geth 클라이언트를 실행할 때 어떤 일이 일어나는지, 시작점부터 실행 순서대로 보도록 하겠다고 했다. 하지만 코드를 살펴본 결과 들어가기에 앞서 geth에서 사용하는 몇 가지 타입에 대해 살펴보면 이해가 더 쉬울 것 같다. 이번 글 부터는 이해를 위해 필요한 코드가 있으면 전부 가져올 예정이라 앞으로의 글들은 좀 길 예정이다. cli 패키지를 살짝 알아보고 아래 4가지 타입을 먼저 확인해보도록 하겠다. - cli 패키지의 App, Context - Node 패키지의 node - ethapi 패키지의 Backend cli 패키지 import 문을 보면 https://github.com/urfave/cli/v2 에서 가져온 것을 확인할 수 있는데,, # https://cli.urfave.org..
Geth 소스코드 분석을 해볼까 한다. Geth 소스코드를 분석한 한글 자료가 있긴 하지만 오래된 자료들이 많다. 게다가 대부분의 자료가 중요한 업데이트 중 하나인 '더 머지' 업데이트 전 자료기 때문에 바뀐 점이 꽤나 많을 것 같다. 이더리움은 계속해서 업데이트 되기 때문에 그런 자료들을 참고해서 나도 한 번 코드를 살펴보려고 한다. 아마 최신 자료가 별로 없는 건, 블록체인 업계에 신규 유입되는 개발자들이 많지 않고 또 과거에 비해 다양한 체인들이 많아져서 골고루 분포하기 때문이지 않을까 생각해본다.. 좋은 자료 및 참고 자료 https://github.com/NAKsir-melody/go-ethereum-korean https://docs.google.com/presentation/d/1kKwMyi..
Flutter 3.16을 올리고 UI 문제가 생겼다면 material3 문제이다. 나도 flutter 3.16.x 버전으로 올리고 앱의 ui가 깨져보이기 시작했는데.. 위 처럼 보이던 탭바가 아래처럼 보이기 시작했다. 그 밖에도 버튼 누를 때 애니메이션 같은게 조금 바뀌었다. 왜 그런가 찾아보니 flutter 3.16에서는 Material3가 기본이라고 한다. https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1 What’s new in Flutter 3.16 Material 3 by default, Impeller preview for Android, DevTools extensions, and much more medium.com 그럼 ..
Bonk 상장 요즘 핫한 뉴스는 bonk 상장 12월 15일에 바이낸스에 상장되었다. bonk가 뭐냐 하면 Bonk is the first Solana dog coin for the people, by the people with 50% of the total supply airdropped to the Solana community. The Bonk contributors were tired of toxic “Alameda” tokenomics and wanted to make a fun memecoin where everyone gets a fair shot. -coingecko 솔라나 밈코인이다. 인스크립션인 줄 알았다. 왜 인스크립션인 줄 알았냐면 지금 대세가 되고 있기 때문에,, 대세가 되는 인..
개요 처음에 ordinals에 관한 글을 올린 건 https://uzzam.dev/41 비트코인 역사에 기록될 순간 Brc-20 1 - 개요 개요 현재 암호화폐 투자는 안하고 있지만 습관이 되어 트위터로 소식은 자주 보고 있다. 최근의 이슈는 Pepe, 그리고 Brc-20이다. Pepe는 사실 바이낸스 상장까지 마친지 꽤 되었으니 이미 끝난 이 uzzam.dev 2023년 5월 9일 시간이 이렇게나 흘렀다니 나도 놀랐다. 그 사이에 비트코인을 비롯한 암호화폐 시장에도 생기가 돌고 있고, 누군가는 에어드랍으로 몇 천만원을 버는가 하면 brc-20 토큰인 ordi와 sats이 상장을 하기도 했다. 나는 사실 에어드랍을 준비하거나, brc-20 토큰을 사놓지는 않았는데 그 이유는 돈이 없어서도 아니고 확신이 ..
들어가며.. 엄청난 슈퍼 개발자가 아니라면, 빠른 개발과 좋은 설계 사이의 트레이드오프는 분명 있을 것이다. 앱을 직접 배포하면서 느낀 것이고, 그리고 아마 현업에서도 이럴 것이라고 생각한다. 보통 새롭게 추가해야하는 기능이 무한정 추가되지는 않는다. 서비스가 어느 정도 궤도에 오르면 새롭게 기능을 추가하는 것에 시간을 쓰기보다는, 유지보수를 하게 되고 좋은 코드를 고민해보게 된다. 나의 앱도 어느 정도 궤도에 올라서 좋은 코드와 설계에 대해 고민하고 싶어졌는데 항상 확신을 가지지 못했던 MVVM구조로 잘 설계되었는가에 대한 고민을 한번 해보고 글로 작성해보려 한다. 내 앱은 Provider를 이용하여 MVVM 구조로 나름 설계되어 있다. 앱의 기능상 문제는 전혀 없지만, 그건 아직 앱이 크지 않아서, ..
담타 프로젝트 관리하기 3-1 - CI/CD 알아보기 담타 프로젝트 관리하기 3-1 - CI/CD 알아보기 들어가며 담타 프로젝트 관리하기 2-1 - Github으로 이슈 관리 담타 프로젝트 관리하기 2-1 - Github으로 이슈 관리 이 글은 2022년 10월 7일에 첫 작성되었습니다. (https://github.com/shs395/shs395.github.io/blob/ma uzzam.dev 이전 글에서 CI/CD에 대해 알아보고, 올인원 서비스를 우선 이용해봐야겠다고 마음을 먹었다. Flutter앱의 CI/CD를 도와주는 올인원서비스는 Codemagic, Bitrise, Appcircle이 있다. 예전에 Netlify를 이용해 Gatsby 블로그를, Fleek을 이용해 IPFS에 올린 웹앱을 배..
uzzam
'분류 전체보기' 카테고리의 글 목록