Skip to content

feat(week-06): Guestbook DApp#109

Open
Dodaji wants to merge 1 commit into
Bay-17th:mainfrom
Dodaji:week-06-dapp
Open

feat(week-06): Guestbook DApp#109
Dodaji wants to merge 1 commit into
Bay-17th:mainfrom
Dodaji:week-06-dapp

Conversation

@Dodaji

@Dodaji Dodaji commented Apr 29, 2026

Copy link
Copy Markdown

과제 제출 정보

주차: Week 06

과제 유형:

  • 이론 (Theory Quiz)
  • [V] 개발 (Dev Assignment)

구현 내용

  • Smart Contract 구현: Solidity 0.8.26을 사용해 누구나 블록체인 상에 메시지를 남길 수 있는 방명록(Guestbook.sol)을 만들었습니다. 상태 변수, 이벤트 발생, 그리고 Foundry 기반의 5가지 단위 테스트를 작성했습니다.
  • 프론트엔드 구축: Next.js App RouterTailwindCSS를 활용해 사용자 인터페이스를 만들었고, wagmi(v2)RainbowKit을 이용해 메타마스크 지갑 연동을 구현했습니다.
  • Sepolia 테스트넷 배포: 컨트랙트를 Sepolia 네트워크에 성공적으로 배포하였고, 프론트엔드에서 useReadContractuseWriteContract를 사용해 방명록을 실시간으로 읽고 쓸 수 있도록 연동을 완료했습니다.

배운 점 (What I Learned)

이번 주에 배운 것 (2-3가지)

  1. Foundry를 사용하여 스마트 컨트랙트를 로컬 환경에서 테스트하고 테스트넷에 배포하는 전체 파이프라인.
  2. wagmiRainbowKit을 통해 블록체인 지갑과 React/Next.js 웹 애플리케이션을 연동하는 방법.
  3. 블록체인 트랜잭션 진행 시 대기(Pending), 성공, 실패 등의 비동기 상태를 사용자에게 UI로 보여주는 경험.

어려웠던 점과 해결 방법

어려웠던 점:
로컬 환경(Node.js, Foundry) 세팅부터 지갑 연결, Sepolia 테스트넷 배포를 위한 가스비(ETH) 수급을 설정하는 과정이 복잡하고 에러가 많았습니다.

해결 방법:
공용 Faucet을 통해 Sepolia ETH를 수급하는 법을 숙지하여 안전하게 배포를 마무리할 수 있었습니다.

질문 사항


체크리스트

테스트

  • [V] forge build 성공
  • [V] forge test 모든 테스트 통과

제출 규칙

  • [V] 브랜치명이 {username}/week-{XX} 형식 (자유 주제 브랜치명 적용)
  • [V] .env 파일이 커밋에 포함되지 않음
  • [V] 커밋 메시지가 규칙을 따름

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant