본문 바로가기
블록체인/─NFT(ERC-721)

이더리움 NFT 발행, 이더리움 NFT 만들기, 처음부터 끝까지(ERC-721)

by SABU 2022. 12. 1.

블록체인, NFT, 이더리움 개발자 모임의 커뮤니티: https://coinhigh.xyz

코인하이 - NFT 커뮤니티, 블록체인 개발자, 비트코인, 이더리움

Coin High는 NFT와 블록체인 생태계의 핵심 개발자들과 함께 특화된 커뮤니티입니다. NFT 프로젝트, 비트코인, 이더리움, 암호화폐

coinhigh.xyz

 
NFT 제작의뢰: https://kmong.com/gig/520626

이더리움, 폴리곤 NFT 프로젝트에 필요한 모든 개발 - 크몽

oRES 전문가의 IT·프로그래밍 서비스를 만나보세요. 현대는 아이디어가 모든 것을 결정짓는 시대입니다. 특히 블록체인 시장에서는 좋은 아이디어만...

kmong.com

 

이더리움의 Solidity 언어를 사용하여 ERC-721로 NFT를 발행하려고 합니다.
중요한것은 스마트 계약을 하여 NFT를 발행한다면 자동으로 NFT 마켓플레이스(Opensea, rarible 등) 노출이 된다는 것입니다 :) 그래서 그 중 NFT 마켓플레이스로 가장 유명한 opensea testnet을 사용하여 테스트를 해보겠습니다!
 
1. Remix 준비
https://sabustory.tistory.com/5

스마트 계약 Solidity 사용을 위한 Remix

안녕하세요 :) Remix를 사용하기 위한 기본 방법입니다. 1. Remix https://remix-project.org/ Remix - Ethereum IDE & community remix-project.org 2. 상단 IDE 클릭 - Remix는 따로 다운로드를 하지않고 온라인에서 사용이 가

sabustory.tistory.com

 
2. 테스트에 사용할 Goeril ETH 준비
https://sabustory.tistory.com/4

메타마스크 이더리움 테스트넷 Goeril 코인 받기

안녕하세요 :) 이더리움 개발에 필요한 Goeril 테스트넷 코인 받는 방법입니다. 이더리움을 테스트하기 위해서 실제 이더리움을 사용할 수는 없기 때문에 Goeril 테스트넷 코인을 사용하는것입니다

sabustory.tistory.com

 
3. NFT에 포함시킬 PNG, JSON파일 준비
- 솔리디티 소스와 PNG, JSON파일이 준비되어 있습니다. 혹시 파일이 없으시다면 제 테스트 파일을 다운로드 받고 테스트하시면 됩니다.
https://github.com/Joyangho/NFT-Test

GitHub - Joyangho/NFT-Test: NFT 테스트

NFT 테스트. Contribute to Joyangho/NFT-Test development by creating an account on GitHub.

github.com

4. Pinata 클라우드에서 IPFS를 가져오기
https://www.pinata.cloud/

Pinata | Your home for NFT media

Welcome to Pinata - Your home for NFT Media. We power the web3 space distributing content for NFTs across some of the top marketplaces, metaverses, apps and more. Get started today on your web3 journey.

www.pinata.cloud

1) 이미지를 업로드 후 2) CID 주소를   "image": "ipfs://추가.png", 으로 되어있는 JSON 파일에서 "추가" 부분을 본인의 CID 주소로 수정하시면 됩니다. 그리고 3) JSON파일을 Pinata에 업로드 하셔야 합니다.
총 2번의 업로드가 필요하며 우리는 JSON 파일이 등록된 CID 주소만을 사용할 것입니다.

4. NFT 스마트 계약
- 리믹스에서 솔리디티를 사용하여 ERC-721 계약을 해야합니다. 그러기 위해서는 소스코드가 필요하며 소스는 깃허브에 올려져 있습니다 :)
https://github.com/Joyangho/NFT-Test

- 컴파일을 진행한 후

Injected Provider - MetaMask 로 연결해야합니다.

- CONTRACT 부분을 우리가 작성한 sol 파일로 변경 후 ipfs://본인제이슨CID주소/ 로 적어주시면 됩니다. 마지막 / 까지 잘 적어주셔야 합니다! 그리고 Deploy를 누르시면 됩니다.
 

- Deploy를 누르면 메타마스크에서 알람이 뜰것이며 우리는 계약 확인을 누르면 됩니다.
 

- 여기에서 TransForOwners에서 mintAmont로 5를 적겠습니다. 우리는 총 10개의 NFTs를 준비 했으니 5개를 보내면 5개가 Opensea에 노출이 될 것입니다 :)
 

- 자, 이렇게 이더스캔에 성공적으로 우리의 계약과 전송을 완료했음을 볼 수 있습니다.
 
5. Opensea 테스트넷 확인
https://testnets.opensea.io/

- 오픈씨 테스트넷에도 우리의 지갑으로 잘 도착하였습니다 :)
 

- 표준 토큰: ERC-721
- Chain: Goeril 로 잘 계약되었습니다.
 
이렇게 NFT를 발행하는 방법을 테스트 해보았습니다! 하지만 실제로 NFT를 발행하고 소비자들에게 공식적으로 판매를 하려면 HTML, React, JS로 홈페이지를 만든 후 민트 페이지를 만들어 web3 지갑과 솔리디티 ABI를 연동해야합니다. 당연히 솔리디티 소스도 추가할 것이 많이 있습니다.
그리고 우리가 진행한 것은 간단하게 ERC-721로 NFT를 어떻게 발행하는지 테스트하는 포스트였습니다 :)


// 메인슬라이더 오토