이 기술적인 글은 NFT의 화이트리스트 생성 개념을 탐구할 것이다. NFT 발행시 가스 경쟁을 방지하기 위해 NFT 화이트리스트가 사용되고 있다. NFT 화이트리스트는 암호화폐 지갑 주소를 발행 전에 미리 승인받는 과정이다.
NFT의 화이트리스트를 생성하는 방법
여러 유효한 접속 방법이 있으며, 쿠폰 시스템은 스마트 계약이 신뢰할 수 있는 출처에서 왔는지를 검증할 수 있도록 지갑 주소를 오프 체인에서 서명하는 방식으로 주로 사용된다.
미리 승인된 지갑이 단일 NFT를 생성할 수 있는 "화이트리스트" 기능을 스마트 계약에 추가하고, 스마트 계약의 화이트리스트와 통합되는 웹 솔루션을 설계할 수 있을 것이다.
화이트리스트 생성을 위한 개발자 가이드
시스템은 어떻게 작동하나요?
생성
각 쿠폰은 개발자만 알고 있는 개인 키를 사용하여 오프 체인에서 서명된 지갑 주소를 포함하는 간단한 자바스크립트 객체일 것이다.
검색
쿠폰은 간단한 JSON 파일에 저장되며 간단한 API를 통해 노출될 것이다.
소비
결과적인 쿠폰 서명은 스마트 계약을 호출할 때 사용될 수 있으며, 받는 데이터가 생성된 것임을 증명하는 데 사용될 수 있다.
쿠폰 시스템 구축하기
- 생성
공개 키 암호화를 사용하여 "쿠폰" 안에 지갑 주소를 암호화한다. 주소와 privateKey를 받아들이고 쿠폰을 반환하는 쿠폰 함수를 만든다.
계약을 배포할 때 사용한 것과 동일한 키 쌍이 필요하다. 그러나 여전히 키 쌍을 생성해야 한다면 메타마스크를 사용하여 빠르게 새 지갑을 생성하고 거기서 개인 키를 내보낼 수 있다.
작은 node.js 스크립트가 쿠폰을 생성할 것이다.
사용할 지갑의 개인 키로 .env 파일을 채워넣어야 한다. 그런 다음 스크립트 내 주소 배열에 지갑 주소 목록을 채워넣으십시오.
node generateCoupons.js를 실행하여 쿠폰을 생성하고 coupons.json 파일에 저장하십시오. 완료되었다!
- 검색
각 쿠폰이 단일 지갑 주소에 대해서만 유효하므로 쿠폰이 노출되어도 위험이 없다. 그러나 화이트리스트를 비공개로 유지하기 위해 해당 지갑 주소에 응답하여 해당 쿠폰을 반환하는 API 엔드포인트 뒤에 숨기는 것이 여전히 좋은 아이디어다.
Next.js 프레임워크는 API 및 남은 프론트엔드 민팅 웹사이트를 구축하기에 훌륭한 선택이다.
- 사용
스마트 계약에서는 먼저 자바스크립트로 생성된 쿠폰과 유사한 쿠폰을 나타내는 구조체를 정의한다. 스마트 계약에서 쿠폰이 유효한지 확인하기 위해 몇 가지 작업을 수행해야 한다.
(자바스크립트 코드에서 생성된) 지갑 주소를 포함하는 동일한 메시지 다이제스트를 생성한다. 이 메시지 다이제스트를 사용하여 쿠폰의 서명자를 복원한다.
복원된 서명자가 당신임을 확인한다. 솔리디티 (Solidity)에서는 이를 위해 두 개의 내부 함수를 작성하여 이를 달성할 수 있다. 그런 다음 민팅 함수를 새 쿠폰 시스템을 사용하도록 업데이트한다:
쿠폰이 재사용되지 않도록 누가 민트했는지 추적하는 것이 중요하다. 민팅 웹사이트에서 mint 함수를 호출할 때 쿠폰을 전달하도록한다.
결론
이것은 NFT 화이트리스트를 구현하는 간단하고 안전하며 효과적인 방법이다. 개발자이고 NFT를 위한 화이트리스트를 생성하고자 하는 경우, 이 NFT 화이트리스트 생성 방법에 대한 기사가 도움이 될 것이다.





















