내가 지금 뭘 하고 있는 건지 모르겠어서 적어봤다
이 글은 제가 이해한 만큼만 적은 개인 기록입니다. 저는 이 분야 전문가가 아니고, 틀린 설명이 섞여 있을 수 있습니다. 정확한 내용은 공식 문서를 보시는 편이 낫습니다.

해커톤 준비를 하다가 중간에 멈췄다. 내가 지금 뭘 하고 있는 건지 모르겠어서다.
가입하라니까 가입하고, 키 받으라니까 받고 있는데, 이게 왜 필요한 건지가 머리에 안 들어왔다. 그래서 처음부터 다시 정리했다.
먼저 — 블록체인에서 데이터를 읽는 건 원래 어렵다
이게 출발점이다. 블록체인은 은행 장부 같은 게 아니라 영수증 더미에 가깝다.
지갑 하나가 뭘 사고팔았는지 알고 싶으면, 그 지갑이 등장하는 영수증을 전부 찾아서 한 장씩 읽어야 한다. 목차가 없으니까.
내가 그동안 하던 방법
나는 그냥 무식하게 했다. 블록을 1,000개씩 잘라서 "이 구간에 이 지갑 나와?"를 계속 물어보는 방식이다.
이걸 몇 주 굴리면서 세 번 크게 막혔다.
1. BSC라는 체인에서는 거의 매번 "너무 자주 물어본다"고 거절당했다
2. 토큰 하나를 30,000블록 훑으려다 25분 만에 응답이 끊겼다
3. 어떤 거래소 방식이 바뀌어서, 금액이 전부 0으로 나왔다
1번과 2번은 같은 문제다. 공짜로 열어둔 창구에 가서 계속 물어보니까 창구가 지친 거다. 무료로 쓰는 거라 뭐라 할 수도 없다.
3번은 좀 다르다. 거래소가 내부 구조를 바꾸면서 돈이 오가는 방식 자체가 달라졌는데, 내 코드는 옛날 방식으로 세고 있었다. 그래서 "0원 거래"만 잔뜩 잡혔다.
그래서 서브그래프라는 게 있다
한 줄로 말하면 "미리 정리해둔 목차"다.
누군가가 미리 블록체인을 전부 읽어서, "이 거래소에서 일어난 매매"만 뽑아 정리해둔다. 그리고 그걸 검색할 수 있는 형태로 열어둔다.
중요한 건 "빠르다"보다 "해석을 남이 해준다"는 쪽이다. 내가 3번에서 막혔던 문제 — 거래소가 구조를 바꿔서 금액이 0으로 나온 것 — 는 서브그래프를 쓰면 그걸 만든 사람이 이미 고쳐놨을 가능성이 높다. 나 혼자 며칠 헤맬 일을 안 해도 된다.
그럼 왜 API 키가 필요하냐면
이 서비스도 결국 누군가가 서버를 돌려서 제공하는 거다. 그래서 "누가 얼마나 쓰는지"를 세야 한다.
API 키 = 도서관 회원증
회원증 없이도 들어가지는 곳이 있는데(공짜 창구), 거기가 바로 내가 계속 거절당하던 데다. 회원증을 만들면 정해진 만큼은 확실히 보장받는다.
월 10만 번까지는 공짜다. 내 규모면 넘칠 일이 없다.
⚠️ 그리고 이 키는 비밀번호 같은 것이다. 코드에 그냥 적어놓고 공개 저장소에 올리면 남이 내 몫을 다 써버린다. 별도 파일에 넣고 업로드 목록에서 빼야 한다.
정리하면 내가 하려는 건 이거다
"이 지갑을 따라 사면 진짜 돈이 되나"를 확인하는 도구다.
시중 도구들은 대개 과거 성적을 보여준다. 그런데 과거는 고를 수 있다. 잘한 지갑을 이미 알고 나서 보여주는 거라 별 의미가 없다. 그래서 등록한 순간의 블록을 못박고, 그 뒤에 벌어진 것만 센다.
그리고 검사를 하나 더 한다. 가장 크게 번 매매 하나를 빼고도 플러스인가. 이게 실제로 뭔가를 잡아냈는데, 추적하던 지갑 하나가 겉으로는 플러스인데 그 한 건을 빼니까 마이너스였다. 승률로도 총손익으로도 안 보이는 사실이다.
그래서 지금 하는 일이 뭐냐면
지금까지 블록을 직접 훑음 → 자주 실패하고 느림
이번에 같은 걸 서브그래프 위에 다시 지음
계산 로직은 그대로다. 데이터를 가져오는 방법만 바꾸는 거다.
그리고 이게 해커톤 주제와 맞아떨어진다. 스폰서 중에 그 서브그래프 서비스를 만드는 곳이 있고, "우리 걸 써서 뭔가 의미 있는 걸 만들어봐라"가 과제이기 때문이다. 억지로 갖다 붙인 게 아니라 내가 실제로 막혀 있던 지점을 푸는 게 곧 과제인 셈이다.
이 글을 쓴 이유
시키는 대로 따라가고 있다는 느낌이 들어서 멈췄다.
모르는 채로 진도만 나가면 나중에 고장났을 때 아무것도 못 한다. 봇을 몇 개 굴리면서 배운 게 그거다. 돌아갈 땐 이해 안 해도 되는데, 멈추는 순간 이해한 만큼만 고칠 수 있다.
그래서 진도를 하루 늦추더라도 적어두는 게 낫다고 생각했다. 어차피 시작은 내일이다.