Velas에서 NFT 생성에 대해 알아야 할 모든 것
Velas에서 NFT를 생성하면 팀에 다양한 이점을 제공할 수 있습니다. 여기에는 이더리움과 호환되는 스마트 계약 활용, 가볍고 빠른 거래 속도 즐기기, 높은 가스 요금 면제 등이 포함됩니다.
콘텐츠 :
개요
NFT는 사용자에게 다양한 방식으로 혜택을 줄 수 있는 혁신적인 기술입니다. 예를 들어, 사용자에게 이전과는 전혀 다른 방식으로 디지털 자산에 대한 소유권 증명을 제공합니다. 게다가 NFT는 완전히 새로운 창작자 경제로 이어질 수 있습니다.
NFT가 제공하는 모든 혜택을 통해 모두가 NFT를 통해 프로젝트를 강화하는 것에 대해 이야기하고 있습니다. 하지만 NFT 지원 스마트 계약을 개발하는 방법을 알고 계십니까? 그렇지 않더라도 걱정하지 마십시오. 이 기사에서는 Velas Testnet에서 NFT 스마트 계약을 생성하는 모든 단계를 안내할 것입니다.
이 튜토리얼에서는 컬렉션 대신 일대일 NFT를 생성하는 방법을 보여줍니다. 따라서 이 스마트 계약을 통해 사용자는 자신의 사진이나 비디오를 NFT로 만들 수 있습니다.
왜 벨라스인가?
시중에는 다양한 블록체인 프로토콜이 있습니다. 그러나 개발자는 이를 사용할 때 여전히 문제에 직면합니다. 예를 들어, 이더리움은 높은 가스 요금과 느린 거래 처리로 인해 어려움을 겪고 있는 반면, 다른 블록체인에서는 개발자가 Rust와 같은 익숙하지 않은 언어를 사용해야 합니다.
와 벨라 스, 대부분의 우려 사항은 존재하지 않습니다. Velas의 솔루션은 솔라나 기술의 최고의 DNA를 계승하고 이를 보완하기 위해 다음과 같은 기능을 지원합니다. EVM. 이는 사용자와 개발자에게 더 빠른 거래 시간과 함께 탁월한 사용자 경험을 보장하는 이상적인 플랫폼을 제공합니다. 또한 Solidity 지원을 통해 개발 프로세스를 단순화합니다.
사전 조건
따라가려면 Node와 패키지 관리자인 Yarn이 있어야 합니다. 또한 Solidity에 대한 기본 지식이 있어야 합니다. 그러니 아직 익숙하지 않으시다면 Solidity의 기본과 안전모 먼저.
설정
프로젝트를 설정하려면 터미널에서 다음 명령을 실행하세요.
npx hardhat
Hardhat이 설치되어 있지 않으면 다음 출력이 표시됩니다.
타입 y 클릭 입력, 그러면 Hardhat 설치가 진행됩니다. 그러나 이미 Hardhat이 있는 경우에는 Hardhat 설치 프롬프트가 표시되지 않습니다. 대신 프로젝트를 어떻게 설정하려는지에 대해 몇 가지 질문을 할 것입니다.
현재 폴더에 기본 Javascript 프로젝트가 필요하므로 클릭하기만 하면 됩니다. 입력 모두를위한.
그런 다음 프로젝트에 대한 종속성을 설치해야 합니다. 이를 설치하려면 다음 명령을 사용합니다.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Yarn을 사용하고 있으므로 hardhat-toolbox가 사용하는 라이브러리를 설치해야 합니다.
yarn add --dev @nomicfoundation/hardhat-toolbox @nomicfoundation/hardhat-network-helpers @nomicfoundation/hardhat-chai-matchers @nomiclabs/hardhat-ethers @nomiclabs/hardhat-etherscan chai ethers hardhat-gas-reporter solidity-coverage @typechain/hardhat typechain @typechain/ethers-v5 @ethersproject/abi @ethersproject/providers
npm 버전 7 이상 버전을 사용하는 경우 이러한 라이브러리가 직접 설치됩니다.
스마트 계약을 작성하기 전에 한 단계 더 진행해야 한다는 점은 주목할 가치가 있습니다. 즉, 어떤 것을 제거하는 것입니다. .솔 contract 폴더에 보이는 파일을 만들고 다음과 같은 새 파일을 만듭니다. VELASNFT.sol. 이것이 계약서를 작성할 폴더입니다.
NFT 스마트 계약 작성 방법
건설자
우선, Solidity 버전을 정의하고 빈 스마트 계약 본문을 만드는 베어본 스마트 계약을 만듭니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
기본 스마트 계약과 유틸리티 스마트 계약을 가져와야 합니다. 특히 이는 NFT 스마트 계약을 구축하는 데 사용될 계약입니다. 기본계약은 ERC721URI저장, 저장소 기반 토큰 URI 관리를 갖춘 ERC721 구현입니다.
카운터는 발행된 NFT 수를 계산하는 데 사용되는 유틸리티 계약입니다.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
우리 계약은 기본 계약을 상속합니다. 이를 통해 사용자는 기본 계약과 스마트 계약의 모든 기능에 액세스할 수 있습니다.
contract VELASNFT is ERC721URIStorage { }
이제 계약에 대한 생성자를 작성할 수 있습니다. 특히, 생성자에는 인수가 없지만 이름과 기호를 ERC721 생성자에 전달해야 합니다.
constructor() ERC721("VELASNFT", "VN") {}
이 단계가 끝나면 스마트 계약은 다음과 같아야 합니다.
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { constructor() ERC721("VELASNFT", "VN") {} }
민트 함수 작성
민트 기능을 위해서는 먼저 카운터를 설정해야 합니다. 생성자 위의 계약 내부에 다음 코드 조각을 붙여넣습니다.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
Counters 라이브러리의 모든 기능을 Counter 구조체에 할당합니다. 그런 다음 다음과 같은 개인 변수를 만듭니다. _tokenId.
이제 함수 개발을 시작해 보겠습니다. 하나의 인수가 필요합니다. 토큰URI, 모든 메타데이터를 저장하는 json 파일의 URL이 됩니다. 다음 섹션에서는 메타데이터에 대해 더 자세히 알아볼 것입니다. 민트 기능은 공개적으로 표시되며 발행된 NFT의 ID(유형 uint256)를 반환합니다.
function mint(string memory tokenURI) public returns (uint256) { }
함수 내에서 먼저 카운터의 현재 개수를 가져옵니다.
NFT를 발행하려면 다음을 사용합니다. _민트 주소와 ID를 인수로 사용하는 함수입니다. 주소는 발신자의 주소를 사용하고 ID는 현재 카운트가 됩니다. 그 후에는 저장을 해야 합니다. 토큰URI.
그러기 위해서는 우리가 해야 할 일은 _setTokenURI, 그러면 해당 ID가 포함된 URI가 키로 저장됩니다. 결국 우리는 카운터를 증가시키고 생성된 NFT의 ID를 증가시킬 것입니다.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
축하해요! 이제 귀하의 스마트 계약으로 NFT를 발행할 수 있습니다! 전체 계약 개요는 다음과 같습니다.
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds; constructor() ERC721("VELASNFT", "VN") {} function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(msg.sender, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
}
계약을 배포하는 방법
우리는 NFT 스마트 계약을 구축했습니다. 흥미로운 단계인 배포가 시작됩니다. 하지만 계약을 배포하기 전에 이를 컴파일하고 계약을 배포하는 스크립트를 작성해야 합니다. 계약을 컴파일하려면 터미널에서 다음 명령을 실행하세요.
npx hardhat compile
다음 출력이 표시됩니다.
이제 다음 단계로 넘어가서 이 스마트 계약을 배포하기 위한 스크립트를 작성해 보겠습니다. 이를 위해 scripts 폴더로 이동하여 배포.js 파일을 엽니다. 그런 다음 모든 콘텐츠를 제거하고 다음 코드 조각을 해당 파일에 붙여넣습니다.
const hre = require("hardhat"); async function main () { // We get the contract to deploy const VELASNFT = await hre.ethers.getContractFactory('VELASNFT'); console.log("Deploying NFT contract..."); const velasnft = await VELASNFT.deploy(); await velasnft.deployed(); console.log('NFT contract deployed to:', velasnft.address); } main() .then(() => process.exit(0)) .catch(error => { console.error(error); process.exit(1);
});
계약을 배포하기 전에 Velas 테스트넷에 대한 세부 정보를 hardhat.config.js 파일에 추가해야 합니다. 파일을 열고 Velas 테스트넷 구성을 추가하세요.
require("@nomicfoundation/hardhat-toolbox");
const dotenv = require('dotenv');
dotenv.config(); /** @type import('hardhat/config').HardhatUserConfig */
module.exports = { solidity: "0.8.9", networks: { velastestnet: { url: `https://evmexplorer.testnet.velas.com/rpc`, accounts: [process.env.PRIVATE_KEY] } }
};
또한 계약을 배포하기 전에 지갑의 개인 키를 .env 파일에 추가하고 지갑에 테스트넷 VLX 토큰이 있어야 한다는 점도 언급할 가치가 있습니다. 다음에서 테스트넷 토큰을 얻을 수 있습니다. 여기에서 지금 확인해 보세요..
이제 모든 설정이 완료되었으므로 터미널에서 다음 명령을 실행합니다.
npx hardhat run scripts/deploy.js --network velastestnet
명령이 성공적으로 실행되면 터미널에 아래와 유사한 출력이 표시됩니다.
NFT 발행
스마트 계약이 배포되면 터미널에서 NFT를 발행할 수 있습니다. 그렇게 하려면 먼저 다음 명령을 사용하여 hardhat 콘솔을 시작하십시오.
npx hardhat console --network velastestnet
출력은 아래와 같습니다.
그런 다음 다음과 같은 계약 변수를 생성합니다. “velasnft”. 그만큼 getContractAt 메소드는 계약 객체를 반환합니다.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
아래 표시된 출력을 참조하세요.
NFT를 발행하기 위해 우리는 다음의 발행 방법을 사용할 것입니다. 벨라스프트 변하기 쉬운. 또한 메타데이터에 대한 링크를 메서드에 전달해야 합니다. 메타데이터 표준에 대해 자세히 알아볼 수 있습니다. 여기를 클릭하십시오..
await velasnft.mint("https://metadatastorage.com/velasnft/0")
아래 출력을 확인하세요.
이제 NFT의 소유자를 확인할 차례입니다. 우리는 소유자의 이제 우리가 발행한 NFT의 인덱스를 전달해 보겠습니다.
await velasnft.ownerOf(0)
이것이 NFT 소유자의 결과를 얻는 방법입니다.
결론
이 기사에서 우리는 사용자가 NFT를 발행할 수 있는 NFT 스마트 계약을 작성하는 방법을 배웠습니다. 또한 우리는 이를 Velas 테스트넷에 배포했습니다. 이제 새로운 NFT 기반 애플리케이션을 개발하고 역동적인 Velas 생태계를 탐색할 수 있습니다.
이 링크를 통해 Velas에서 DAO를 구축하는 방법을 확인할 수도 있습니다.
Velas는 Web3 개발 속도를 높이려고 노력하는 사람들에게 힘을 실어주고 싶어합니다. 따라서 Velas는 이 임무를 달성하기 위해 100억 달러의 보조금 프로그램을 시작했습니다. 한편, 이 프로그램은 벨라스 생태계의 확장을 지원하는 것도 목표로 하고 있습니다.
Velas의 보조금 프로그램을 통해 개발자는 흥미로운 아이디어를 보다 효율적으로 실현할 수 있습니다. 각 프로젝트에는 최대 100,000달러의 자금 지원을 받을 수 있는 기회가 있습니다. 또한 선정된 팀은 마케팅, 기술 컨설턴트 등 프로젝트 개발을 촉진하기 위한 기타 리소스에 액세스할 수 있습니다.
보조금 프로그램은 DeFi, NFT, 블록체인 기반 게임 등을 포함하되 이에 국한되지 않는 광범위한 카테고리를 다룹니다.
암호화폐와 블록체인의 대량 채택을 가속화하는 데 관심이 있다면, 끊임없이 진화하는 Velas 생태계에 참여하려면 지금 신청하세요.
벨라스에 대해 자세히 알아보세요:
책임 부인 - 협찬받아 작성한 글입니다. DappRadar는 이 페이지의 어떤 콘텐츠나 제품도 보증하지 않습니다. DappRadar는 정확한 정보를 제공하는 것을 목표로 하지만 독자는 조치를 취하기 전에 항상 스스로 조사해야 합니다. DappRadar의 기사는 투자 조언으로 간주될 수 없습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 만
- 000
- 1
- 10
- 7
- 9
- a
- 소개
- 위의
- 가속하는
- ACCESS
- 계정
- 정확한
- 동작
- 또한
- 추가
- 주소
- 양자
- 조언
- 후
- 목표
- All
- 수
- 이미
- 항상
- 및
- 어플리케이션
- 논의
- 인수
- 기사
- 기사
- 자산
- 가능
- 기다리다
- 기지
- 기본
- 기초
- 때문에
- 전에
- 존재
- 이하
- 이익
- 혜택
- BEST
- blockchain
- 블록 체인 구동
- blockchains
- 몸
- 가져
- 빌드
- 내장
- 라는
- 방문객
- 얻을 수 있습니다
- 카테고리
- 검사
- 수집
- 호환성
- 호환
- 우려 사항
- 결론
- 구성
- 고려
- 콘솔에서
- 컨설턴트
- 함유량
- 계약
- 계약
- 동
- 계수기
- 카운터
- 커버
- 만들
- 만든
- 만들기
- 창조자
- 크리에이터 경제
- 크립토 통화를
- Current
- DAO
- DappRadar
- 데이터
- DeFi
- 배포
- 배포
- 배치
- 전개
- 배치하다
- 세부설명
- 개발
- 개발자
- 개발
- 디지털
- 디지털 자산
- 직접
- DNA
- 말라
- 동적
- 마다
- 경제
- 생태계
- 효율적으로
- 능력을 키우다
- 힘을 실어
- 가능
- 지지하다
- 전적으로
- ERC721
- 오류
- 이더리움
- 사람
- 모두
- 예
- 우수한
- 흥미 진진한
- 실행
- 확장
- 경험
- 탐험
- 수출
- 페이스메이크업
- 페이스북
- 익숙한
- FAST
- 빠른
- 특징
- 지우면 좋을거같음 . SM
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 먼저,
- 따라
- 수행원
- 기르다
- 무료
- 에
- 기능
- 기능
- 자금
- Games
- 가스
- 가스 요금
- 얻을
- 주기
- 제공
- Go
- 부여
- 보조금
- 보증
- 여기에서 지금 확인해 보세요.
- 높은
- 방법
- How To
- 그러나
- HTTPS
- 이상
- 아이디어
- 이행
- import
- in
- 포함
- 포함
- 색인
- 정보
- 설치
- 를 받아야 하는 미국 여행자
- 관심있는
- 개요
- 투자
- 문제
- IT
- 자바 스크립트
- 어울리다
- JSON
- 키
- 키
- 알아
- 지식
- 언어
- 시작
- 리드
- 배운
- 레버리지
- 도서관
- 도서관
- 생활
- 제한된
- LINK
- 링크드인
- 보기
- 같이
- 본관
- 관리
- 구축
- 매니저
- .
- 마케팅
- 질량
- 대량 입양
- 최대 폭
- 그 동안에
- 매질
- 메모리
- 메타 데이터
- 방법
- 백만
- 박하
- 발행 년도
- Mission
- MIT
- 모듈
- 배우기
- 가장
- 움직임
- name
- 필요
- 네트워크
- 신제품
- 다음 것
- NFT
- NFT 스마트 계약
- NFTs
- 노드
- 특히
- 번호
- 대상
- ONE
- 열 수
- OpenSea
- 기회
- 기타
- 개요
- 자신의
- 소유자
- 소유권
- 꾸러미
- 특권
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 부디
- ...을 더한
- 전제 조건
- 프레젠테이션
- 사설
- 개인 키
- 방법
- 처리
- 프로덕트
- 프로그램
- 프로젝트
- 프로젝트
- 증명
- 보호
- 프로토콜
- 제공
- 공개
- 문의
- 범위
- 읽기
- 독자들
- 받다
- 제거
- 필요
- 연구
- 제품 자료
- 결과
- return
- 반품
- 혁명
- 달리기
- 녹
- 찜하기
- 스크립트
- 섹션
- 선택된
- 세트
- 설치
- 영상을
- 표시
- 표시
- 비슷한
- 이후
- 느리게
- 스마트 한
- 똑똑한 계약
- 스마트 계약
- So
- SOL
- solidity
- 해결책
- 일부
- 속도
- 후원
- 단계
- 기준
- 스타트
- 단계
- 단계
- 아직도
- 상점
- 노력하다
- 투쟁
- 성공적으로
- SUPPORT
- 상징
- 받아
- 소요
- 복용
- 말하는
- 팀
- 테크니컬
- Technology
- 단말기
- testnet
- XNUMXD덴탈의
- 기초
- 그들의
- 그곳에.
- 따라서
- 일
- 을 통하여
- 시간
- 에
- 토큰
- 토큰
- 거래
- 거래 속도
- 참된
- 지도 시간
- 생소한
- URL
- 사용
- 사용자
- 사용자 경험
- 사용자
- 유틸리티
- 여러
- 벨라 스
- 버전
- 를 통해
- 동영상
- 가시성
- W3
- 지갑
- 방법
- Web3
- 웹
- 어느
- 동안
- 누구
- 넓은
- 넓은 범위
- 의지
- 가치
- 쓰다
- 쓰기
- 자신의
- 너의
- 당신 자신
- 제퍼 넷