Truffle로 ERC-721 개발 하기

jsg_ko·2022년 2월 9일
0

개요

Truffle을 이용하여 Local 환경에서 ERC-721 배포 해보자. solidity 문법과 openzeppelin 라이브러리를 안다는 가정하에 진행된다.

🔥Local에서 ERC-721 개발하기

  1. 로컬에서 NFT를 개발하기 위해, Truffle을 사용한다. 먼저, 새로운 폴더를 생성하고 Truffle을 이용한 개발 환경을 준비한다.

    # 폴더 생성
    mkdir erc721
    # 폴더 진입
    cd erc721
    # truffle 초기화
    truffle init
    # npm 초기화
    npm init
  2. 개발 환경 준비를 마쳤다면, VScode를 실행한다.

    먼저 몇 가지 세팅을 해야한다. truffle-config.js 를 열고, solc를 설정한다. solc 는 Solidity, Compiler의 버전 등을 설정한다. 이 예시에서 사용하는 Solidity의 버전은 "0.8.7"이고, Compiler의 버전은 "london"이다.

  3. MyNFT.sol 파일을 생성하고 아래와 같이 코드를 작성한다.

  4. 이 파일에서는 OpenZeppelin의 파일을 참조하고 있다. 따라서, npm 을 통해 openzeppelin 을 설치해야 한다.

    npm install @openzeppelin/contracts
  5. 붙여넣은 코드가 정상적으로 배포되기 위해서는, migration 파일을 설정해야 한다.1_initial_migration.js 파일을 연다. 그리고 다음과 같이 편집한다.

    이걸로 ERC721을 이용한 개발을 마쳤다.

🔥Truffle로 ropsten 테스트넷에 ERC-721 배포하기

  1. infura 로 테스트넷 환경에 노드로 접속하기

    infura.io 접속 후 truffle과 Ethereum ropsten TestNet 을 연결한다.

  2. migrate 명령어를 입력해주면 ropsten 테스트 네트워크에 배포가 완료된다.

  1. MyNFTs 의 mintNFT 함수 실행, 결과 확인


  2. 이더스캔에 컨트랙트 주소를 검색하여 ropsten네트워크에 컨트랙트가 성공적으로 배포되었는지 확인 할 수 있다.

    이더스캔 테스트넷 배포 확인

회고

truffle을 이용에 가나슈에 배포했을때보다 더 직관적으로 배포결과를 확인 할 수 있어서 좋았다. 개발을 진행하면서 막히는 부분이 몇번 있어서 해맸다. 검색을 통해 문제를 이 해매는 과정을 혼자서 해결하면서 그저 컨텐츠를 따라 개발하는 것 보다 더 명확하게 배울 수 있었다.

profile
디버깅에서 재미를 추구하면 안되는 걸까

0개의 댓글