자바스크립트와 Openzeppelin을 사용하여 첫 번째 NFT를 구축하세요!
이 연습에는 두 부분이 있습니다. 먼저 우리는 블록체인에서 실행할 빠른 NFT 스마트 계약을 구축할 것입니다. 두 번째로 우리는 자바스크립트를 사용하여 NFT를 동적으로 만드는 데 도움이 되는 백엔드를 구축할 것입니다.
Openzeppelin을 사용하여 스마트 계약을 구축할 것입니다. Openzeppelin은 개발을 빠르게 추적하는 데 도움이 되는 오픈 소스 ERC721 템플릿을 제공합니다. 트러플(이 문서에서 자세히 알아보기)을 사용하여 선호하는 코드 편집기(솔리디티 지원이 있는지 확인)를 사용하여 이 가이드를 따르거나 remix(솔리디티용 무료 웹 IDE)을 사용하여 빌드할 수 있습니다.
편집기에 다음 코드를 붙여넣습니다.
// Let’s start by importing the Openzeppelin ERC-721 template into our file
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
// Next, let’s add our NFT smart contract and name the NFT token (Dynamic NFT)
contract ReviseNFT is ERC721 {
string baseuri = "";
constructor(string memory _baseuri) ERC721("Dynamic NFT", "dNFT") {
baseuri = _baseuri;
}
// Last but not the least, let’s add functions to enable minting and to enable setting the _baseURI().
function mint(address to, uint256 tokenId) public {
_safeMint(to, tokenId);
}
function _baseURI() internal view override(ERC721) returns (string memory) {
return baseuri;
}
}
If you’re using remix, this would have automatically imported the openzeppelin library. If you’re using truffle run
npm install @openzeppelin/contracts
in import the needed libraries.
The rest of the article assumes you’re using remix.
이제 이 NFT에 데이터와 속성을 추가해 보겠습니다. 이것을 NFT의 "백엔드"라고 생각하십시오. 우리가 트랙을 작성한 스마트 계약은 트랙 소유자가 트랙을 전송할 수 있도록 하고, 우리가 구축할 백엔드는 데이터(이미지, 비디오 등) 및 속성을 NFT에 추가합니다.
Revise ( https://revise.network )을 사용하여 백엔드를 설정하고 데이터를 NFT에 추가합니다. Revise에서 개발 키를 가져옵니다. https://revise.network을 방문하여 "시작하기"를 클릭하고 계정을 만든 후 헤더에서 "API 키 생성"을 클릭합니다. 키를 생성했으면 키를 복사하여 어딘가에 저장합니다.
Clone this repo . 이것은 매우 기본적인 스타터 키트이며 revise-sdk 설정이 있습니다. 복제한 후
npm install
를 실행하십시오. index.js를 열고 다음 코드를 붙여넣습니다.const { Revise } = require("revise-sdk");
const AUTH_TOKEN = "...PASTE YOUR AUTH TOKEN HERE...";
const revise = new Revise({auth: AUTH_TOKEN});
async function run() {
// write your code here
}
run()
AUTH_TOKEN
를 Revise에서 생성한 인증 토큰으로 바꿉니다. 위 스니펫에서는 revise-sdk를 가져오고, 인증 토큰을 설정하고, revise-sdk 함수 호출을 실행하는 함수를 설정합니다.NFT용 컬렉션을 생성해 보겠습니다(모든 NFT는 컬렉션에 속합니다. 폴더의 파일이라고 생각하세요).
const collectionId = await revise.addCollection({name: "Collection Name", uri: "Collection_URI"})
// Collection Name : Use any name you want for your collection (this gets shown in the marketplace))
// Collection_URI : Use a unique name (no spaces or special characters)
// this will generate a unique link for your collection
// for e.g. if you choose "myuniquecollection"
// your baseURI wil be "myuniquecollection.revise.link"
다음으로 다음 코드를 사용하여 NFT에 일부 데이터를 추가해 보겠습니다(편집기에서 위 코드 아래에 다음 코드 추가).
const nft = await revise.addNFT({
image: 'https://revise-testing.fra1.digitaloceanspaces.com/sample-collection/1.jpg',
name: 'Star Lord',
tokenId: '1',
description: 'This is a test description'
}, [
{attack: "80"}, {color: "maroon"}, {stamina: "90"}
], collectionID)
console.log(nft)
index.js 파일
node index.js
을 실행합니다. 이제 첫 번째 NFT를 추가했습니다! 테스트해 볼 수 있습니다. 방문myuniquecollection.revise.link/1
이제 URL 수정이 있으므로 NFT를 배포하고 테스트해 봅시다!
리믹스로 돌아가서 이전에 생성한 계약을 열고 저장(ctrl + S 또는 CMD + S)을 누르면 스마트 계약이 컴파일되고 준비가 완료됩니다. 페이지 왼쪽에 있는 메뉴에서 "배포 및 실행"옵션을 클릭합니다.
reviseNFT 계약을 선택하고 배포를 누르십시오("_baseuri"필드에 baseURI 입력). 귀하의 baseURI는 "myuniquecollection.revlse.link"입니다(여기서는 예를 들어 1,2 등에 대한 토큰 ID를 추가하지 않습니다).
배치를 누르면 계약서가 로드됩니다. "민트"를 클릭하여 주소를 붙여넣으면 NFT가 발행됩니다. 이것은 브라우저에 NFT를 배포했습니다. Opensea에서 NFT를 보려면 NFT를 테스트넷 또는 메인넷에 게시해야 합니다. 다음 글에서 그 방법을 알려드리겠습니다.
첫 NFT 생성을 축하합니다!
Reference
이 문제에 관하여(자바스크립트와 Openzeppelin을 사용하여 첫 번째 NFT를 구축하세요!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/anil_from_revise/use-javascript-and-openzeppelin-to-build-your-first-nft-43oe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)