Alchemy's NFT API의 getNFTs를 사용해야 하는 3가지 중요한 이유
작성자 Alchemy
NFT dApp를 구축하고 있다면, Alchemy’s NFT API가 getNFTs, getOwnersForToken과 같은 get 요청을 사용하여 사용자를 위한 더 나은 경험을 구축하는 데 도움을 줄 수 있습니다. 이 메서드들이 무엇을 하는지, 그리고 NFT 빌드에서 왜 이를 사용해야 하는지 살펴보겠습니다.
getNFTs란 무엇인가?
getNFTs는 특정 소유자 주소에 속한 ERC-721 및 ERC-1155 토큰을 포함한 모든 NFT 목록을 가져올 수 있는 NFT API 엔드포인트입니다. 소유자 주소나 ENS 이름을 입력하면 API가 해당 주소가 소유한 모든 NFT 목록과 NFT 메타데이터를 반환합니다.
getNFTs 사용 사례 예시
getNFTs는 가장 다재다능한 NFT API 엔드포인트 중 하나로, NFT를 표시하는 지갑, NFT 마켓플레이스, NFT 분석 도구, NFT 희귀도 랭킹 사이트, Discord 봇 등 다양한 web3 제품 전반에서 사용할 수 있습니다.
예를 들어, OpenSea 계정의 프로필 페이지로 이동하면 자신이 소유한 NFT를 확인할 수 있습니다. 이는 getNFTs를 사용해 사용자 지갑 주소가 소유한 NFT와 관련 NFT 메타데이터를 반환하는 엔드포인트에 의해 구동됩니다.
더 넓게 보면, getNFTs는 사용자가 무엇을 소유하고 있는지 알아야 하는 모든 경우에 유용할 수 있습니다. 예를 들어, getNFTs 요청은 희귀도 랭킹 사이트 같은 NFT 분석 도구나, 어떤 NFT가 방금 판매되었는지, 어느 마켓플레이스에서 판매되었는지, 그 밖의 관련 메타데이터를 알려주는 Discord 봇에 데이터를 제공하는 데 사용될 수 있습니다.
getOwnersForToken이란 무엇인가?
getOwnersForToken은 NFT 스마트 컨트랙트를 지정하면 해당 토큰의 모든 소유자 목록을 반환하는 API입니다. ERC-721 토큰의 경우 getOwnersForToken은 단 하나의 소유자만 반환하지만, 여러 소유자를 가질 수 있는 ERC-1155 토큰의 경우에는 둘 이상의 지갑 주소를 반환할 수 있습니다.
getOwnersForToken 사용 사례 예시
getOwnersForToken은 에어드랍, NFT 소유권 변경에 대한 캐시 갱신, 프로필 사진 검증 등 여러 사용 사례를 가지고 있습니다.
NFT 민팅 프로젝트를 운영하면서 특정 토큰의 소유자에게 에어드랍을 하고 싶다면, getOwnersForToken을 통해 이 허용 목록(allowlist)을 식별할 수 있습니다.
마찬가지로, 프로필 사진을 가지고 있고 소유권을 검증하고 싶다면, 이 API를 사용해 소유권이 변경되었는지 확인할 수 있습니다.
getOwnersForToken이 없다면 이러한 사용 사례를 위한 편리한 해결책이 없는데, 개발자가 단일 NFT의 소유권이 시간에 따라 어떻게 변경되었는지 알아내려면 블록체인 전체를 파싱해야 하기 때문입니다. 이제 Alchemy의 NFT API를 사용하면 getOwnersForToken API가 단 한 번의 요청으로 이 작업을 수행할 수 있습니다.
NFT를 가져올 때 Alchemy의 NFT API를 사용해야 하는 3가지 이유
Alchemy's NFT API로 구축하는 것은 커버리지, 스팸 필터, 이미지 캐싱 덕분에 NFT를 가져오는 데 있어 최선의 선택입니다.
1. NFT 커버리지
Alchemy's NFT API는 가장 폭넓은 NFT 커버리지를 갖추고 있는데, 이는 NFT 메타데이터가 온체인, 오프체인, 그리고 일관되지 않은 형식으로 존재하기 때문에 정확하게 메타데이터를 기록하는 데 있어 많은 엣지 케이스를 낳는 어려운 문제입니다.
NFT 메타데이터가 여러 다른 형식과 여러 다른 환경에 존재한다는 사실은 NFT에 대한 정확한 메타데이터를 판단하는 것을 복잡한 문제로 만듭니다.
Alchemy는 다음을 포함하되 이에 국한되지 않는 가장 두드러진 메타데이터 처리 사례들을 극복하기 위해 여러 코드 경로를 설계함으로써 가장 완전한 NFT 커버리지를 제공할 수 있습니다:
- JSON 형식의 온체인 또는 오프체인
- SVG 형식의 온체인 또는 오프체인
- UTF-8 형식의 온체인 또는 오프체인
Alchemy의 NFT API는 또한 SVG, Pinata와 같은 IPFS 게이트웨이를 사용하는 NFT, 보조 오프체인 위치를 가리키는 이미지 URI, base64로 인코딩된 이미지 등 다양한 구현 방식을 처리할 수 있습니다.
NFT 메타데이터는 어떻게 가져오는가?
NFT 메타데이터를 가져오는 것은 여러 변형이 있는 복잡한 과정이지만, Alchemy의 NFT API는 간단한 해결책을 제공하므로 각 사용 사례를 하나하나 따져보느라 귀중한 시간을 낭비할 필요가 없습니다.
NFT의 메타데이터를 가져오려면 컨트랙트 주소와 토큰 ID로 이루어져 NFT의 고유 식별자를 구성하는 ID에서 시작합니다.
이 ID는 정보가 이미 존재하는지 확인하기 위해 Alchemy NFT 캐시와 대조됩니다. 캐시에 없다면, 어떤 유형의 NFT인지, 그리고 컨트랙트가 어떤 표준을 준수하는지 조사해야 합니다.
Alchemy는 현재 두 가지 주요 NFT 표준인 ERC-721 및 ERC-1155 스마트 컨트랙트를 지원합니다.
Alchemy 대시보드 실제 화면 보기
30분 가이드 투어: 대시보드의 모든 도구를 실시간으로 시연합니다.
Watch the demo실제 ERC-721 표준은 이름, 설명, 이미지를 포함하는 NFT의 제목과 속성을 담은 체계를 제공해야 하며, 몇 가지 추가 메서드를 지원할 수 있어야 합니다.
이론적으로는 지원 인터페이스 호출을 통해 NFT가 이 표준을 지원하는지 확인할 수 있어야 하며, 컨트랙트는 그에 대한 답을 응답합니다.
이러한 컨트랙트는 프로그래밍이 가능하기 때문에, 개발자가 의도적으로든 실수로든 컨트랙트가 잘못 응답하도록 프로그래밍할 수 있으므로, 인터페이스를 지원하는지 확인하려면 컨트랙트의 다른 속성들도 살펴봐야 합니다.
스마트 컨트랙트가 실제로 NFT라는 것을 확인했다면, 컨트랙트나 토큰에게 _메타데이터의 위치_를 물어볼 수 있습니다. ERC721 컨트랙트의 경우 호출하는 메서드는 token URI 메서드이고, 1155 컨트랙트의 경우에는 단순히 URI 메서드라고 부릅니다.
URI는 NFT 메타데이터가 존재하는 인터넷상의 위치, 또는 온체인상의 위치를 가리킵니다. 일부 컨트랙트는 이 위치를 물어보면 파일을 가리키지만, 다른 컨트랙트는 잘못되어 있어 메타데이터를 token URI에 직접 제공하기도 합니다.
URI가 다른 위치를 가리킨다면, 그 링크를 따라가야 하는데, 대개는 서드파티 웹사이트나 서버로 연결되며, 이는 그 자체로 여러 문제를 안고 있습니다. 이러한 웹사이트는 다운되어 있거나, 악성이거나, 요청 제한(rate limit)이 걸려 있을 수 있지만, Alchemy는 그런 문제를 뚫고 정보를 깔끔하게 반환합니다.
ERC-721과 ERC-1155 스마트 컨트랙트 전반에 걸쳐 이렇게 많은 서로 다른 구현 방식이 존재하는 상황에서, NFT에 대한 폭넓고 정확한 데이터 커버리지를 갖추는 것은 지속적인 과제입니다. Alchemy NFT API를 사용하는 것이 알려진 NFT의 커버리지를 최대화하는 가장 좋은 방법입니다.
2. NFT 스팸 필터
getNFTs에 대한 Alchemy의 스팸 필터는 원치 않는 에어드랍이거나 ERC-721 및 ERC-1155 표준을 위반하는 NFT 스마트 컨트랙트인 스팸 NFT를 걸러냄으로써 개발을 더욱 쉽게 만들어줍니다.
getNFTs의 기본 필터링 옵션에 더해, Alchemy의 새로운 getSpamContracts는 선택한 체인에 있는 모든 ERC-721 및 ERC-1155 스팸 컨트랙트 목록을 반환합니다.
마찬가지로 isSpamForContract는 특정 NFT 스마트 컨트랙트가 스팸으로 분류되었는지 확인합니다. 컨트랙트 주소로 필터링할 수 있으므로, 특정 NFT의 소유자를 찾아서 그것이 그들이 소유한 유일한 NFT인지 확인하는 데에도 사용할 수 있습니다.
Alchemy는 NFT 스팸 필터를 갖춘 유일한 플랫폼이며, 스팸에 발목이 잡혀 있으면 NFT를 다루기가 매우 어렵습니다.
3. NFT 이미지 캐싱
Alchemy의 이미지 캐싱은 NFT 이미지에 대한 더 빠른 응답과 더 빠른 로드 시간으로 이어집니다. NFT 미디어는 전통적으로 IPFS, 분산 스토리지 제공업체, 또는 서드파티 서버에서 제공되는데, 개발자들은 이러한 엔드포인트를 사용할 때 느린 로딩 시간과 타임아웃 오류를 자주 겪습니다. Alchemy는 Cloudinary를 사용해 NFT 이미지를 캐싱하고 자체 캐시에서 NFT URL을 제공함으로써 이 문제를 해결하여 조회 속도를 더 빠르게 만듭니다.
어떤 NFT API를 선택해야 할까?
스팸 필터, getFloorPrice, reingestContract를 포함한 견고한 엔드포인트, Crypto Punks 지원을 포함한 최고의 NFT 커버리지, 그리고 가장 정확한 데이터 덕분에, Alchemy NFT API는 web3 개발자에게 최선의 선택입니다.
Alchemy 계정에 가입하고 Alchemy의 NFT API가 다음 NFT 프로젝트를 구축하는 데 어떻게 도움이 될 수 있는지 확인하거나, Alchemy가 web3 여정에서 어떻게 도움이 될 수 있는지 더 알아보세요.
관련 개요
Web32024년 5월 29일
Key3 소개: 일본 최고의 Web3 교육 DAO
일본항공(Japan Airlines)과 일본 스낵 식품 기업 Calbee는 관광 촉진과 브랜드 충성도를 높이기 위해 NFT를 활용하고 있습니다.
Web32024년 5월 29일
Wavehack: 일본 최대 규모의 Web3 해커톤
WaveHack은 일본 최대 규모의 Web3 해커톤으로, 2024년 4월 중순부터 8월 말까지 진행됩니다.
Web32024년 5월 29일
일본의 Web3: 완벽 가이드
일본 정부가 어떻게 혁신을 가속화하고 있는지, 기업들이 블록체인 기술을 어떻게 활용하고 있는지 알아보세요.

블록체인 매직을 만드세요
Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.