News & Events
NFT 스마트 계약의 핵심 요소인 NFT 메타데이터
4부작 NFT 크리에이터 시리즈의 2부
4부로 구성된 NFT 크리에이터 시리즈의 두 번째 파트에서는 디플로이에 필요한 NFT 메타데이터를 생성하는 방법에 대해 알아볼 것이다.
코드화를 원하는 경우 파트 1: “파이썬으로 나만의 NFT 컬렉션 만들기”에서 필수 코드를 찾을 수 있다.
NFT 메타데이터란?
NFT 메타데이터는 NFT의 핵심이다. JSON 문서이며 다음을 포함하고 있다.
- NFT’의 이름
- NFT에 대한 설명
- 호스팅된 이미지에 대한 링크
- 특성들
- …
이 NFT 메타데이터는 당신이 이더리움 네트워크에 구축할 NFT 스마트 계약의 입력이 될 것이다.
클라우드에 NFT 이미지 업로드
블록체인에 데이터를 업로드하는 것은 매우 많은 비용이 든다. 때문에 당신은 이미지를 블록체인에 업로드하지 않고 다른 곳에서 호스팅하고 싶다. 그러면 이 호스팅된 이미지에 대한 링크가 NFT 메타데이터에 포함된다.
Pinata를 사용하면 IPFS(InterPlanetary File System)를 사용하여 NFT 이미지를 무료로 업로드할 수 있다. 기본적으로 이것은 분산 파일 공유 시스템이다.
무료 계정에 등록하고 NFT 이미지 폴더를 pinata 클라우드에 업로드한다.
필자는 해당 프로젝트를 “NFT Creator”라고 불렀지만, 다른 이름을 선택해도 좋다.
Pinata를 사용하면 한 번에 전체 폴더를 업로드할 수 있다.
업로드가 성공하면 업로드한 파일을 아래와 같이 볼 수 있다.
프로젝트를 클릭하고 링크를 복사한다.
이것은 나중에 필요한 “BASE URL”이다.
내 프로젝트의 BASE URL은 https://gateway.pinata.cloud/ipfs/Qmb86L8mUphwJGzLPwXNTRiK1S4scBdj9cc2Sev3s8uLiB이다.
NFT 메타데이터 생성
all-traits.json
NFT 크리에이터 시리즈의 첫 번째 파트에서는 각 이미지에 대한 특성을 지정하는 “all_images” 목록을 만들었다.
json.dump() 함수를 사용하여 이 목록을 .json 파일로 덤프하면 된다.
[token_id].json
그런 다음 각 개별 이미지에 대해 특정 .json 파일을 생성한다.
- all_traits.json에 로드한다.
- 이전에 Pinata 웹사이트에서 복사한 이미지 “BASE URL”을 지정한다. 끝에 “/”를 추가 한다.
- 프로젝트 이름 지정
- 키 접근자를 사용하여 all_traits .json 사전을 루프하고 각각의 고유한 NFT 이미지에 대해 개별 .json 파일을 출력한다.
예를 들어, 이 이미지의 경우 다음과 같은 .json 파일이 수신된다.
NFT 메타데이터 예시
아래에서 tokenID 0 및 해당 사진에 대한 NFT_metadata 파일의 예시를 볼 수 있다.
다음 시리즈에서는 NFT 스마트 계약을 구현하는 방법에 대해 알아 볼 것이다.
해피 프로그래밍!
NFT 이미지 tokenID 0
출처
- Ethereum Developer Resources | ethereum.org
- GitHub — UniqueNetwork/substrapunks: Substrate based remake of CryptoPunks game
- GitHub — benyaminahmed/nft-image-generator
번역 – 핀인사이트 인턴연구원 강지윤(shety0427@gmail.com)
원문 보러가기>
https://betterprogramming.pub/generate-your-nft-metadata-11a878c082b9