본문 바로가기

블록체인/이더리움

[SpeedRunEthereum] Challenge 0[Simple NFT Example]

Scaffold-eth를 활용한 예제 챌린지를 해보겠습니다.

 

Checkpoint_0: 설치

필수 설치

  • Git
  • Node (v16 이하 버전)
  • Yarn
git clone https://github.com/scaffold-eth/scaffold-eth-challenges.git challenge-0-simple-nft
cd challenge-0-simple-nft
git checkout challenge-0-simple-nft
yarn install

총 3개의 터미널을 열어 각 명령어를 실행합니다.

 

Hardhat LocalNetwork 실행

yarn chain

React 실행

yarn start

Contract deploy

yarn deploy // 재 배포시 yarn deploy --reset

 

http://localhost:3000으로 접속합니다.

 

Checkpoint_1: 가스& 지갑

Grab funds from the faucet 클릭

Grab funds from the faucet을 클릭해서 테스트용 이더를 지급받습니다. 

scaffold-eth는 burner 월렛을 사용하기 때문에 메타마스크 지갑 연결을 하시면 안 됩니다!

 

Checkpoint_2: 민팅

MINT NFT 버튼을 클릭해서 NFT를 생성합니다.

NFT를 생성한 후 시크릿 모드로 새로운 창을 하나 열어 localhost:3000에 접속해줍니다.

지갑 주소가 다른 것을 확인한 후 두 번째 지갑 주소로 NFT를 전송해줍니다.

전송된 NFT 확인

 

Checkpoint_3: 배포

packages/hardhat/hardhat.config.js 에 defaultNetwork를 rinkeby로 변경 후 저장해줍니다.

 

yarn run genearete
yarn account

생성된 주소를 복사한 후 rinkeby_faucet에서 테스트용 이더를 받습니다.

 

이더를 받았으면 배포를 해줍니다.

yarn deploy

 

Checkpoint_4: 배송

packages/react-app/src/App.jsx 에서 targetNetwork를 rinkeby로 변경해줍니다.

새로고침 후 다시 MINT NFT 버튼을 눌러 NFT를 생성하면 로컬이 아닌 테스트 네트워크에서 사용 가능하며 실제 지갑으로도 전송 가능합니다.

 

빌드 후 테스트를 해줍니다.

yarn build
yarn test

 

 

Checkpoint_5: 컨트랙트 인증

 

packages/hardhat/package.json에서 verify에 이더스캔 api를 추가해줍니다. 이더스캔

 

yarn verify --network rinkeby