IPFS기반 NFT거래소 구축
·
IPFS
NFT(Non-Fungible Token)는 블록체인 기술을 이용해서 디지털 자산의 소유주를 증명하는 가상의 토큰(token)이며, 디지털 자산의 한 형태이다. 그림·영상 등의 디지털 파일을 가리키는 주소를 토큰 안에 담음으로써 그 고유한 원본성 및 소유권을 나타내는 용도로 사용된다. NFT를 개발하는 과정에서 용량이 큰 디지털 파일을 블록체인에 저장하는 것은 많은 리소스가 소요되기 때문에, 블록체인에 부담을 줄여주고 데이터의 불변성을 보장해줄 저장소가 필요하다. 또한, 블록체인에 기록되는 NFT metadata의 원본이 중앙집중식 서버에 있으면 NFT에 대한 신뢰성이 떨어질 수 있다. 이를 위해 metadata를 IPFS에 저장하여 불변성을 보장해야 NFT의 가치를 지킬 수 있다.하지만 콘텐츠를 제공하..
IPFS 폴더 업로드
·
IPFS
iIPFS에 폴더 업로드 ipfs daemon 실행 upload 폴더 내에 info.txt파일 작성 echo "asasdad" > upload/info.txt 파일이 들어있는 폴더 업로드 ipfs add -r upload/ >> 결과 : info.txt파일과 upload폴더에 대한 cid가 따로 출력 https://gateway.ipfs.io/ipfs/QmXngN2hVgNkTt1esBhr4wFKYkmzChaoEeMr5n3XmvuFTL/ 로 접속해서 해당 폴더 확인가능
ElasticSearch를 이용한 IPFS 검색 속도 개선
·
IPFS
먼저 Elasticsearch 클러스터를 구성하고, IPFS에서 가져온 파일의 속성을 Elasticsearch에 색인합니다. 파일의 속성은 파일 이름, 크기, 생성일 등을 포함할 수 있습니다. Elasticsearch 클러스터에 파일을 색인하면 Elasticsearch 검색 엔진을 사용하여 파일의 메타데이터를 빠르게 검색할 수 있습니다.그러나 파일의 실제 내용은 여전히 IPFS 네트워크에 저장되어 있으므로 Elasticsearch에 파일의 실제 내용을 저장하지 않습니다. 대신, Elasticsearch는 파일의 메타데이터를 인덱싱하고, 이를 사용하여 IPFS 네트워크에서 파일의 위치를 확인하고 검색합니다.따라서 IPFS에서 파일을 검색할 때는 Elasticsearch를 사용하여 파일의 메타데이터를 검색하..
IPFS 파일 추가 (add, pinning)
·
IPFS
ipfs add 명령을 사용해 파일을 업로드하면 로컬 노드에 파일이 저장됩니다. 저장된 파일은 ipfs 네트워크에 분산 저장되어 다른 노드에서도 검색 가능합니다. ipfs에 add를 한다고 해당 파일이 ipfs에 계속 유지되는 것을 보장하지는 않는다. why? ipfs는 사용자가 원하는 파일을 캐시하고 새로운 파일을 받으면 이전 파일을 삭제할 수 있다. 또한 파일의 레플리카를 자동으로 유지하지 않기 때문에, 파일이 한 노드에서만 저장되고 있다면 해당 노드가 종료되거나 문제가 생길경우 파일 유실 될 수 있다. 이를 해결하기 위해 해당 파일의 CID 값을 pinning 하여 영구적으로 보전 해주어야한다. Terminal ipfs add example.jpg ipfs pin add ipfs pin rm # u..
NFT marketplace와 IPFS, 응답 지연 해결 방법
·
IPFS
IPFS 사용 이유NFT를 민팅 할 때, 블록체인상에 NFT 이미지를 등록하지 않습니다. 블록체인에 등록하게 되면 너무 큰 용량으로 인해 감당할 수 없는 가스비가 나올 것입니다.이러한 이유로 다른 곳에 저장해야 하는데, 기존의 중앙집중식 서버에 저장하면 데이터의 위변조 가능성이 존재해서 nft의 가치가 훼손될 가능성이 있습니다.이러한  issue로 대부분의 nft 이미지와 metadata는 IPFS(분산형 파일 저장 시스템)에 저장되며, 이로인해 nft의 불변성을 보장할 수 있게됩니다.IPFS에 파일을 올리면 해당 파일의 대한 컨텐츠 주소로 CID(해시값)가 발급되며, 이를 블록체인에 등록하게 됩니다.  IPFS 이슈이미지를 가져오는 과정에서 네트워크 지연이 일어날 수 있습니다.사용자가 IPFS에서 파일..
ipfs 파일접근 : public gateway vs local node access
·
IPFS
ipfs에 파일을 추가할 때 다음과 같은 일이 발생합니다 1. 파일을 IPFS에 추가하면 파일이 더 작은 청크로 분할, CID부여 2. 다른 노드가 파일을 조회할 때, 파일의 CID가 참조하는 컨텐츠를 저장하고 있는 피어 노드에 묻는다. 3. 노드는 컨텐츠를 영구적으로 유지하기 위해 컨텐츠를 고정하거나, 공간 절약을 위해 한동안 사용하지 않은 컨텐츠를 삭제한다.(가비지 컬렉션) 즉, 네트워크의 각 노드는 관심 있는 컨텐츠만 저장하고 어떤 노드가 무엇을 저장하고 있는지 파악하는 데 도움이 되는 일부 인덱싱 정보를 저장 이때, cid를 통해 ipfs에 있는 파일에 접근할 수 있는데, 그 중 게이트웨이를 이용한 방법과 ipfs네트워크에서 파일에 직접 엑세스 하는 방법에 알아봅니다. 게이트웨이 1. 사용자는 I..