Categories: 블록체인 글

Python에서 Web3로 — 3부작 중 3편

Python 개발자를 위한 6개월 Solidity 로드맵

‘Python에서 Web3로’ 시리즈의 마지막 편입니다. 1편에서 포트폴리오 프로젝트를 만들었고, 2편에서 Solidity가 다음 단계로 맞다는 결정을 했다면, 이 편은 실제 학습 계획입니다 — 무엇을, 어떤 순서로, 어떤 자료로 배워야 하고, 현실적으로 얼마나 걸리는지.

2026년 들어 생태계가 잘 정리됐어요. 호환 안 되는 튜토리얼들이 난립하던 서부 개척 시대는 끝났습니다. 명확한 무료 커리큘럼, 지배적인 툴체인, 잘 정립된 연습장이 다 있습니다. 전부 짚어 드릴게요.

시간 투자: 고용 가능한 Solidity 개발자 수준까지 가는 데 총 600시간 정도. 풀타임 6개월, 또는 주 15시간 파트타임 9개월.

Phase 0 — 멘탈 모델 (1주)

코드 짜기 전에 기반을 잡아야 합니다. 안 그러면 storage vs memory, msg.sender, 가스 같은 개념이 계속 미스터리로 남아요.

할 일

  • EVM이 뭔지, 트랜잭션이 뭔지, 왜 가스가 존재하는지 이해
  • MetaMask 설치, Sepolia 테스트넷 faucet에서 테스트 ETH 받기, 트랜잭션 한 번 보내기
  • Etherscan에서 트랜잭션 하나 까서 모든 필드 읽어보기

자료: Cyfrin Updraft의 “Blockchain Basics” 코스. 무료. 총 4시간 정도. 이 코스 하나가 나중에 겪을 혼란을 많이 줄여줍니다.

Phase 1 — Solidity 기본기 (3~4주)

Python 잘 하시는 분이면 문법 자체는 빠르게 들어옵니다. 헷갈리는 부분이 따로 있어요:

  • mapping은 Python의 dict와 비슷하지만 키 목록을 못 가져옴
  • storage vs memory vs calldata — Python엔 없는 개념
  • payable, view, pure 함수 수식어
  • modifier (데코레이터와 비슷)
  • event (로그 기록, 인덱싱 가능)

할 일

  • Remix IDE에서 첫 컨트랙트 5개 작성: 카운터, 투표, 간단한 ERC-20, NFT 민터, 기본 멀티시그
  • 각각 Sepolia 테스트넷에 배포하고 Etherscan에서 verify

자료: Cyfrin Updraft의 “Solidity Smart Contract Development” 코스. 무료, 20만 명 이상 수강, 변수와 함수부터 첫 컨트랙트 배포까지 다 다룹니다. Solidity by Example을 탭에 띄워 두세요 — 패턴 빨리 찾을 때 최고입니다.

🚨 피해야 할 것: CryptoZombies. 한때 입문자용 표준이었지만 Solidity 0.5 기반이라 outdated. 나중에 버려야 할 습관을 익히게 됩니다.

Phase 2 — Foundry와 실전 툴링 (4~6주)

여기가 진짜 전문 개발이 시작되는 지점입니다. Remix는 학습용이고, 실무는 다 Foundry예요. 일부 레거시 코드베이스가 아직 Hardhat을 쓰지만, 신규 프로젝트는 거의 다 Foundry입니다.

왜 Foundry가 Python 개발자에게 잘 맞나: Foundry의 forge test가 pytest와 정확히 같은 철학입니다. test_ 접두사 함수가 자동 실행되고, fuzz testing(랜덤 입력 자동 생성)이 내장돼 있습니다. Python에서 Hypothesis 써본 분이면 invariant testing도 바로 이해됩니다.

할 일

  • Foundry 설치 (curl -L https://foundry.paradigm.xyz | bash)
  • forge init으로 프로젝트 시작
  • 첫 컨트랙트에 단위 테스트, fuzz 테스트, invariant 테스트 작성
  • 메인넷 forking 연습 — 실제 배포된 Uniswap과 상호작용하는 테스트 작성
  • forge script로 배포 스크립트 작성

자료: Cyfrin Updraft의 “Advanced Smart Contract Development With Foundry” 코스. 무료, 6만 명 이상 수강. 이 한 코스로 Phase 2 대부분 커버됩니다.

Foundry Book을 북마크해 두고 레퍼런스로 쓰세요.

Phase 3 — 표준과 패턴 (2~3주)

여기서 “컨트랙트 짤 수 있는 사람”에서 “실제 양산 코드를 읽을 수 있는 사람”으로 졸업합니다.

알아야 할 핵심 표준

  • ERC-20: 토큰 (가장 기본, 변형이 많음)
  • ERC-721: NFT
  • ERC-1155: 다중 토큰 (게임에서 활용)
  • ERC-4626: 토큰화된 vault (DeFi 표준)
  • ERC-4337: 계정 추상화 (2026년 핫토픽, 지금 익혀두면 가치 큼)

핵심 패턴

  • 접근 제어: Ownable, AccessControl (역할 기반)
  • 업그레이드 가능 컨트랙트: Proxy 패턴 (UUPS, Transparent)
  • Reentrancy guard: 가장 흔한 보안 패턴
  • Pull-over-push: 안전한 송금 처리

할 일: OpenZeppelin 컨트랙트를 import해서 ERC-20과 ERC-721을 직접 만들어 보세요. 그 다음 OpenZeppelin 소스 코드를 처음부터 끝까지 읽으세요. 코드가 아름답고 주석이 좋아요 — 소프트웨어 전체를 통틀어 최고의 학습 자료 중 하나입니다.

자료:

Phase 4 — 보안 (4~6주) — 가장 중요한 단계

여기가 “Solidity 개발자”와 “기업이 시급 $150 주고 쓸 Solidity 개발자”를 가르는 분기점입니다. 그리고 감사(audit) 콘테스트로 부수입을 노린다면, 여기가 본 게임이에요.

할 일 — 순서대로

  1. Ethernaut at ethernaut.openzeppelin.com. OpenZeppelin이 만든 무료 CTF. 취약한 컨트랙트를 해킹하면서 공격 작동 방식을 배웁니다. 27단계, 한 단계당 1~3시간. 다 풀면 Top 취약점들이 근육 기억이 됩니다.
  2. Damn Vulnerable DeFi at damnvulnerabledefi.xyz. DeFi 특화 CTF, 더 어렵고 현실적. 17챌린지.
  3. Cyfrin의 “Smart Contract Security and Auditing” 코스. 무료, 100강 이상, 24시간 이상 영상, 실제 mock 컨트랙트 5개 핸즈온 감사 실습 포함.
  4. 정적 분석 도구: Slither (pip install slither-analyzer — 네, Python 도구입니다!), Aderyn (더 신상, Rust로 작성). 본인 컨트랙트에 돌려보고 모든 경고를 이해할 때까지 파기.

실제 사고 사례로 최신성 유지: rekt.news에서 최근 해킹 사례를 읽으세요. Ronin 브리지 6억 달러, Wormhole 3.2억 달러, Curve reentrancy 해킹 — 다 한 번 읽으면 몇 달 공부 분량의 교훈을 압축해 줍니다.

Phase 5 — 실전 프로젝트와 포트폴리오 (1~2개월)

이제 코드는 짤 수 있습니다. 고용 가능해지려면 출시한 작업이 있어야 해요.

할 일

  1. 이 시리즈 1편의 FHIR Consent Vault를 가져와서 동의 원장 부분을 실제 Solidity 컨트랙트로 마이그레이션. Polygon Amoy 테스트넷에 배포. Python 백엔드를 viem이나 ethers.js로 연결. 이게 포트폴리오 헤드라인이 됩니다 — 헬스케어 + 블록체인 풀스택 데모.
  2. Code4rena 감사 콘테스트 1~2개를 관전자로 옵저빙. 경험 많은 감사자들이 쓴 모든 발견사항을 읽으세요. 2개 콘테스트 본 다음에 직접 한 번 도전. 작은 발견 하나만 인정받아도 수백 달러와 실제 감사자 평판을 얻습니다.
  3. GitHub 정리: 깔끔한 README, 90%+ 테스트 커버리지, 모든 PR에 GitHub Actions로 CI 자동 실행. 한국 개발자(그리고 여러 지역 개발자)가 종종 가볍게 보는 부분인데 — 클라이언트가 처음 보는 게 이거예요.
  4. 만든 결과물을 기반으로 영문 블로그 포스트 2~3편 발행: “Building a Healthcare Consent System with FHIR + Solidity”, “Auditing My First Smart Contract: What I Found”, “Why Foundry Beats Hardhat for Health-Tech Projects”. SEO와 신뢰도를 동시에 잡습니다.

현실적 수익 마일스톤

투자 시간 대비 받을 수 있는 시급:

도달 단계누적 시간시급 (USD)작업 유형
Phase 2까지~150시간$30–50단순 컨트랙트, 보조 역할
Phase 4까지~400시간$60–100독립적 컨트랙트 개발, 작은 감사
Phase 5까지 + 출시 프로젝트 1~2건~600시간$100–150헬스케어 풀스택, 감사 콘테스트

풀타임 6개월이면 Phase 5까지. 주 15시간 파트타임이면 9~12개월.

피해야 할 함정

Solidity는 언어가 작습니다. 외울 문법이 별로 없어요. 진짜 어려운 건:

  1. 보안 직관 (Phase 4)
  2. 가스 최적화 (Phase 2부터 의식하기 시작)
  3. 도메인 이해 (헬스케어가 차별화를 줍니다)

함정은 튜토리얼 소비로 생산성을 느끼는 거예요. “강의 하나만 더 보자”는 편하지만 일정 지점 이후로는 바늘을 안 움직입니다. “Ethernaut 한 단계만 더 풀자” 또는 “실제 컨트랙트 하나만 더 감사해 보자”가 실제로 스킬을 키우는 거예요.

영상 보는 시간이 코드 짜는 시간보다 길어지면, 경고 신호입니다. Phase 2 이후로는 강의 소비가 시간의 소수여야 합니다.

오늘 시작하기

어떤 새로운 학습 프로젝트든 가장 어려운 부분은 시작입니다. 그래서 시작을 작게 만드세요:

Cyfrin Updraft에 가입하세요. Blockchain Basics 첫 강의를 보세요. 30분. 오늘의 유일한 목표입니다.

내일 목표는 두 번째 강의. 그 다음주는 첫 컨트랙트 배포.

6개월 뒤, 새 커리어가 생깁니다.


이로써 ‘Python에서 Web3로’ 시리즈를 마칩니다. 블록체인 + AI가 애초에 왜 흥미로운지에 대한 더 깊은 맥락이 궁금하시다면, 함께 진행되는 ‘블록체인 + AI 리얼리티 체크’ 시리즈가 활용 사례, 확장성 제약, 그리고 한국 의료 마이데이터 사례를 다룹니다.


ChainLab이 씁니다 — 세상을 잇는 체인. 실제 세계를 위한 블록체인 인프라를 만듭니다. chainlab.dev

Recent Posts

블록체인이 진짜 파는 것: “나는 못 고친다”

체인 위의 데이터 — 3부작 중 3편 · ChainLab 앞의 두 편은 배관에 관한 것이었습니다…

2개월 ago

데이터를 소비하는 것이 스마트컨트랙트일 때

체인 위의 데이터 — 3부작 중 2편 · ChainLab 1편에서 우리는 하나의 재정의에 도달했습니다. 블록체인은…

2개월 ago

무료 데이터를 블록체인에 얹어 판다는 것

체인 위의 데이터 — 3부작 중 1편 · ChainLab 솔깃한 아이디어가 하나 있습니다. 부동산 실거래가…

2개월 ago

한국에선 왜 아직? — 규제 이야기, 쉽게 (5/5)

기술은 세계 최고 수준인데, 왜 우리나라에선 AI 결제가 아직 잘 안 굴러갈까요? 답은 '실력'이 아니라…

2개월 ago

에스크로 — 돈을 안전하게 맡기는 금고, 그런데 왜 어려울까 (4/5)

중고거래 안전결제, 다들 써보셨죠? AI 결제에도 이게 필요합니다. 문제는, 생각보다 훨씬 까다롭다는 거예요. 중고거래를 떠올려…

2개월 ago

AP2 & MPP — ‘미리 허락받는’ 결제 vs ‘탭 열어두는’ 결제 (3/5)

앞 편의 x402가 자판기였다면, 이번 두 방식은 '용돈 한도'와 '술집 외상장부'에 가깝습니다. 앞 편 복습:…

2개월 ago