분산형 파일 시스템 입니다. 쉽게 예를들어 토렌트(Torrent)와 같은 P2P 방식의 프로토콜이라 생각하시면 됩니다. 즉 분산형 파일 시스템에 데이터를 올리게 되면 파일을 공유하며 사용할 수 있습니다. IPFS에 저희 파일 NFT그림과 메타데이터를 올리면 CID (Content Identifier)를 발급 받으며, 해당 CID를 통해 저희의 파일을 언제든지 접근할 수 있습니다.
피나타(Pinata) 란?
보통 IPFS에 올릴 때 파일을 다이렉트로 올리지 않고, 피나타와 같은 플랫폼을 이용해 올리게 된답니다.피나타를 이용하면 저희가 쉽게 파일을 올리고 관리를 할 수 가 있습니다.
그러나, 피나타는 부분적으로 무료입니다.
아래 그림은 피나타 홈페지에서 제공하는 가격 입니다.
쉽게 말해서, 무료 피나타 버전은 업로드한 파일의 크기가 1 GB 이하 및 100개의 파일 또는 폴더 정도 저희가 안정적으로 IPFS에 저장해 사용할 수 있는것 같습니다.
대략적인 순서는 이렇습니다.
그림 IPFS 업로드 -> 업로드한 그림 CID를 메타데이터에 붙여넣기 -> 메타데이터 IPFS 업로드
upload+ 버튼을 누르면 위와 같이 나오며, 저희는 10개의 NFT 그림을 업로드 하겠습니다.
10개의 그림이니, 한번에 폴더로 업로드 합니다.
업로드 하면 위와 같이 나오는것을 볼 수 있습니다. 그리고, 저는 업로드 할 때 이름을 images로 했으므로 images라고 적혀있는것을 확인할 수 있습니다. 그리고, 파란색으로 표시한 CID를 확인할 수가 있는데 이 CID 저희가 업로드한 폴더의 ID라고 생각하시면 됩니다.
5.업로드한 폴더(그림들)의 CID를 메타데이터에 업데이트하기
Hashlips art engine의 config.js로 들어 갑니다.
그러고 나서 위와 같이 const baseUri = "ipfs://여러분들의 그림폴더의 CID" 를 입력해줍니다.
그러고 나서, 터미널에 아래와 같은 명령어를 입력합니다.
npm run update_info
이와 같이 입력하면, 위 그림처럼 업데이트가 됐으며, 실제로 메타데이터 가서 보시면 baseUri가 업데이트 된것을 알 수 있습니다.
6. 순서 4와 같이 메타데이터를 업로드
그림을 IPFS에 업로드 한 것처럼, 10개의 메타데이터가 들어있는 폴더를 업로드 합니다.