어떻게 Python 으로 NFT 블록 체인 작품 을 만 듭 니까?
NFT 영 어 는 모두 Non-Fungible Token 이 라 고 부 르 는데 중국어 로 번역 하면 비 동 질화 기호 화폐 로 분할 할 수 없고 대체 할 수 없 으 며 유일무이한 특징 을 가진다.NFT 는 비 동 질화 되 고 분리 할 수 없 는 특성 때문에 현실 세계 의 일부 상품 과 연결 할 수 있다.다시 말 하면 블록 체인 에 발 행 된 디지털 자산 인 데 이 자산 은 게임 도구,디지털 예술품,입장권 등 이 될 수 있 고 유일 성과 복제 불가 성 을 가진다.NFT 는 천연의 소장 속성 과 거래 에 편리 하기 때문에 암호 화 예술가 들 은 NFT 를 이용 하여 유일무이한 디지털 예술품 을 창조 할 수 있다.
ERC 20 과 ERC 721
NFT 는 AAVE,SNX,LINK(기술적 으로 ERC 677)와 같은 ERC 20 과 유사 한 블록 체인 token 표준 이다.ERC 20 은'대체 가능'의 기호 화폐 로'교체 가능'또는'교환 가능'을 의미한다.
예 를 들 어 어떤 달러 지 폐 를 사용 하 든 달러 지 폐 는 1 달러 의 가치 가 있 을 것 입 니 다.달러 지폐 에 있 는 일련 번 호 는 다 를 수 있 지만 지 폐 는 교환 할 수 있 으 며 어쨌든 1 달러 의 가치 가 있다.
다른 한편,NFT 는'대체 할 수 없 는'것 으로 그들 은 자신의 기호 화폐 기준 인 ERC 721 을 따른다.예 를 들 어 모 나리 자 는'대체 할 수 없 는'것 이다.누 군가 그것 을 복제 할 수 있 더 라 도 영원히 모 나리 자 는 하나 뿐이다.모 나리 자가 블록 체인 에 만 들 어 졌 다 면 NFT 가 될 것 입 니 다.
NFT 는 무슨 소 용이 있 습 니까?
NFT 는 계약 서 를 체인 에 영구적 으로 배치 함으로써 창작 자,예술가,게임 디자이너 등 이 가 치 를 창 출 할 수 있 도록 한다.
누가 NFT 를 만 들 었 는 지,누가 NFT 를 가지 고 있 는 지,어디서 왔 는 지 등 독특 성 은 그들 로 하여 금 전통 예술 보다 더욱 가치 있 게 할 것 이다.전통 예술 에서'가짜'가 무엇 인지 이해 하 는 것 은 까다 로 울 수 있 지만 체인 의 역 사 는 거 슬러 올 라 가기 쉽다.
스마트 계약 과 NFT 는 100%프로 그래 밍 이 가능 하기 때문에 NFT 는 내 장 된 인세 와 다른 기능 도 추가 할 수 있다.예술가 에 게 보상 하 는 것 은 항상 문제 이다.왜냐하면 보통 예술가 의 작품 은 아무런 귀속 도 없 이 사방 으로 전파 되 기 때문이다.
점점 더 많은 예술가 와 엔지니어 들 이 이 커 다란 부가 가 치 를 이용 하기 시작 했다.왜냐하면 이것 은 결국 예술가 들 이 업무 보 수 를 받 는 좋 은 방법 이 되 었 기 때문이다.뿐만 아니 라 NFT 는 당신 의 창조력 을 보 여 주 며 디지털 세계 수집가 가 되 는 재 미 있 는 방식 이기 도 합 니 다.
NFT 의 가치
NFT 는 이미 긴 길 을 걸 었 다.우 리 는 NFT 의 매출 이 기록 을 세 우 는 것 을 계속 보 았 다.예 를 들 어 다음 과 같은'매일:5,000 일 전'이라는 그림 의 판매 가격 은 6930 만 달러 이다.
NFT 도 디지털 세계 에서 예술 을 창조 하고 스마트 계약 을 이해 하 는 재 미 있 고 동태 적 이 며 흥미 로 운 방식 이다.그래서 이제 NFT 를 만 드 는 데 필요 한 모든 지식 을 알려 드 리 겠 습 니 다.
NFT 만 드 는 법
현재 NFT 를 만 드 는 가장 쉬 운 방법 은 OpenSea,Rarible,Mintible 등 플랫폼 으로 이동 해 단계별 지침 에 따라 플랫폼 에 배치 하면 된다.
당신 은 100%이 길 을 걸 을 수 있 지만,당신 은 플랫폼 에 연결 되 어 있 을 수 있 습 니 다.당신 은 무한 한 맞 춤 형 제작 을 실현 하거나 NFT 의 어떤 장점 도 진정 으로 이용 할 수 없습니다.
코드 로 실현 하고 탄탄 한 지식 을 배우 고 무한 한 창조력 으로 무언 가 를 창조 할 수 있 는 능력 이 있다 면 계속 읽 어 보 세 요!
어떻게 무한 맞 춤 형 NFT 를 진행 합 니까?
먼저 NFT 브라운 믹스 를 소개 합 니 다.이것 은 대량의 견본 코드 를 포함 하 는 작업 창고 다.
https://github.com/PatrickAlphaC/nft-mix
선 결 조건
우 리 는 약간의 물건 을 설치 해야만 시작 할 수 있다.
https://docs.chain.link/docs/install-metamask/
Rinkeby Testnet ETH 와 LINK.
우 리 는 또한 Rinkeby 이 더 리 움 테스트 체인 에 배치 할 것 이다!
테스트 체인 은 우리 의 스마트 계약 이 현실 세계 에서 나타 나 는 것 을 테스트 하 는 좋 은 방법 이다.링크 비 ETH 와 링크 비 링크 가 필요 합 니 다.링크 문서 의 최신 수도꼭지 링크 에서 무료 로 얻 을 수 있 습 니 다.
링크 비 링크 의 token 을 metamask 에 추가 해 야 합 니 다.링크 문서 에 따라 작업 할 수 있 습 니 다.
https://docs.chain.link/docs/acquire-link/
Ropsten 대신 Rinkeby 를 사용 하 세 요.이 더 리 움 과 같은 스마트 계약 플랫폼 을 사용 할 때 우 리 는 약간의 ETH 를 지불해 야 하고 체인 에서 데 이 터 를 얻 을 때 우 리 는 LINK 를 지불해 야 한다.이것 이 바로 우리 가 테스트 체인 의 LINK 와 ETH 를 획득 해 야 하 는 이유 이다.
다음 작품 은 바로 우리 가 오픈 씨 에 배치 할 NFT 다.
https://testnets.opensea.io/assets/0x8acb7ca932892eb83e4411b59309d44dddbc4cdf/0
빠 른 속도 로 착수 하 다.
git clone https:
//github.com/PatrickAlphaC/nft-mix
cd nft-mix
지금 우 리 는 ganache-cli 와 eth-brownie 를 설치 해 야 한다.
pip install eth-brownie
npm install -g ganache-cli
지금 우 리 는 우리 의 환경 변 수 를 설정 할 수 있다.환경 변 수 를 잘 모 르 면.env 파일 에 추가 한 다음 실행 하 십시오.
source .env
.env 의 예 는 방금 복 제 된 repo 에 있 고 환경 변 수 를 주석 해 야 합 니 다.주석 을 취소 해서 사용 하 는 지 확인 하 세 요!WEB3 가 필요 합 니 다.INFURA_PROJECT_ID 와 PRIVATEKEY 。WEB3_INFURA_PROJECT_ID 는 무료 인 프 라 계 정 을 등록 할 때 찾 을 수 있다.이것 은 우리 에 게 거래 를 블록 체인 으로 보 내 는 방법 을 제공 할 것 이다.
Metamask 에서 가 져 올 수 있 는 비밀 키 가 필요 합 니 다.작은 점 3 개 를 클릭 하고 계 정 상세 정보 와 비밀 키 를 내 보 냅 니 다.현금 을 투입 하면 이 키 를 누구 와 도 공유 하지 마 십시오!
export
PRIVATE_KEY=YOUR_KEY_HERE
export
WEB3_INFURA_PROJECT_ID=YOUR_PROJECT_ID_HERE
현재 우 리 는 우리 의 NFT 계약 을 배치 하고 다음 과 같은 두 명령 을 사용 하여 우리 의 첫 번 째 소장 품 을 만 들 수 있다.
brownie run scripts/simple_collectible/deploy_simple.py --network rinkeby
brownie run scripts/simple_collectible/create_collectible.py --network rinkeby
첫 번 째 스 크 립 트 는 우리 의 NFT 계약 을 링크 비 블록 체인 에 배치 하고 두 번 째 스 크 립 트 는 우리 의 첫 번 째 소장 품 을 만 들 었 습 니 다.당신 은 방금 첫 번 째 스마트 계약 을 배 치 했 습 니 다!
그것 은 전혀 효과 가 없 지만 걱정 하지 마 세 요.저 는 본 튜 토리 얼 의 고급 부분 에서 OpenSea 에 어떻게 과장 하 는 지 보 여 드 리 겠 습 니 다.우선 ERC 721 기호 화폐 기준 을 살 펴 보 자.
ERC 721 기호 화폐 표준
우리 가 방금 배치 한 계약 서 를 살 펴 보 자.Simple Collectible.sol 파일 에 있다.
우 리 는 OpenZeplin 가방 을 ERC 721 token 에 사용 할 것 이다.가 져 온 이 가방 은 전형 적 인 ERC 721 token 의 모든 기능 을 사용 할 수 있 습 니 다.이것 은 우리 의 토 큰 이 가지 고 있 는 모든 기능 을 정의 합 니 다.예 를 들 어 transfer―토 큰 을 새로운 사용자 에 게 이전 하고 safeMint―새로운 토 큰 을 만 드 는 등 입 니 다.
귀 하 는 OpenZepplin ERC 721 토 큰 계약 을 통 해 저희 에 게 계약 을 부여 한 모든 기능 을 찾 을 수 있 습 니 다.우리 의 계약 은 다음 줄 에서 이러한 기능 을 계승 했다.
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol
contract SimpleCollectible is ERC721 {
이것 이 바로 솔 리 티 가 계승 하 는 방식 이다.우리 가 계약 을 배치 할 때 구조 함 수 는 자동 으로 호출 되 고 매개 변수 가 필요 합 니 다.우 리 는 또한 ERC 721 의 구조 함 수 를 사용 했다.우리 의 구조 함수 에서 우 리 는 그것 에 게 이름과 기호 만 주어 야 한다.우리 의 예 에서 그것 은'Dogie'와'DOG'이다.이것 은 우리 가 만 든 모든 NFT 가 Dogie/DOG 형식 이 될 것 이라는 것 을 의미한다.
모든 포켓 몬 카드 가 여전히 포켓 몬 이나 거래 카드 에 있 는 모든 야구 선수 들 이 여전히 야구 선수 인 것 과 같다.모든 야구 선 수 는 하나 밖 에 없 지만 그들 은 여전히 야구 선수 들이다.저 희 는 DOG 타 입 만 사용 합 니 다.
우 리 는 상단 에 tokenCounter 가 우리 가 이런 유형의 NFT 를 얼마나 만 들 었 는 지 계산 합 니 다.모든 새 token 은 현재 tokenCounter 에 따라 tokenId 를 획득 합 니 다.
실제로 createCelectible 함수 로 NFT 를 만 들 수 있 습 니 다.이것 이 바로 우리 가 createcollectible.py 스 크 립 트 에 적 힌 것 입 니 다.
_safeMint 함수 가 새로운 NFT 를 만 들 고 created Collectible 을 호출 하 는 사람,즉 msg.sender 에 게 할당 하 며 tokenCounter 에서 파생 된 new ItemId 를 사용 합 니 다.이것 이 바로 우리 가 tokenId 의 소유 자 를 검사 함으로써 누가 무엇 을 가지 고 있 는 지 추적 하 는 방법 이다.
저희 가 호출 되 었 음 을 알 아차 리 실 겁 니 다setTokenURI。어디 보 자.
NFT 메타 데이터 와 TokenURI 는 무엇 입 니까?
스마트 계약 을 만 들 고 NFT 를 만 들 때 사람들 은 대량의 데 이 터 를 블록 체인 에 배치 하 는 것 이 매우 비 싸 다 는 것 을 곧 깨 달 았 다.1KB 미 만 의 이미지 의 저장 비용 은 100 만 달러 를 넘 기 쉽다.
이것 은 분명히 NFT 의 문제 이다.창의 적 인 예술 을 가지 고 있다 는 것 은 귀하 가 이 정 보 를 어 딘 가 에 저장 해 야 한 다 는 것 을 의미 하기 때문이다.그들 은 NFT 와 관련 된 속성 을 경량급 으로 저장 하려 고 한다.이것 이 바로 tokenURI 와 메타 데이터 가 역할 을 하 는 곳 이다.
TokenURI
NFT 의 tokenURI 는 token'외관'의 유일한 식별 자 입 니 다.URI 는 HTTPS 의 API 호출,IPFS 해시 값 또는 다른 독특한 것 을 통 해 호출 할 수 있 습 니 다.
그들 은 메타 데 이 터 를 표시 하 는 기준 에 따라 다음 과 같다.
이것 은 NFT 의 외관 과 속성 을 보 여 줍 니 다.그림 부분 은 NFT 모양 의 다른 URI 를 가리 키 고 있 습 니 다.이 때문에 OpenSea,Rarible,Mintable 등 NFT 플랫폼 은 이러한 메타 데 이 터 를 찾 고 있 기 때문에 쉽게 플랫폼 에 NFT 를 보 여줄 수 있 습 니 다.
체인 아래 메타 데이터 와 체인 상위 데이터
지금 당신 은'잠깐 만...메타 데이터 가 체인 에 없다 면 이것 은 나의 NFT 가 언제 사라 질 수 있다 는 것 을 의미 하 는 것 입 니까?'라 고 생각 할 수 있 습 니 다.네가 옳다.
귀 하 는 체인 에서 메타 데 이 터 는 귀하 가 이 메타 데 이 터 를 사용 하여 귀하 의 스마트 계약 을 서로 상호작용 하 게 할 수 없다 는 것 을 의미 하 는 것 도 정확 하 다 고 생각 합 니 다.
이것 이 바로 우리 가 NFT 를 프로 그래 밍 하여 서로 상호작용 할 수 있 도록 체인 메타 데이터 에 전념 해 야 하 는 이유 이다.
그러나 우 리 는 체인 아래 메타 데이터 의 이미지 부분 이 필요 합 니 다.왜냐하면 우 리 는 체인 에 큰 이미 지 를 저장 하 는 좋 은 방법 이 없 기 때 문 입 니 다.하지만 걱정 하지 마 세 요.우 리 는 IPFS 를 통 해 탈 중심 화 된 네트워크 에서 이 점 을 무료 로 할 수 있 습 니 다.
이것 은 IPFS 의 imageURI 예제 입 니 다.용 과 지하 도시 튜 토리 얼 에서 만 든 ChainlinkElf 를 보 여 줍 니 다.
https://blog.chain.link/build-deploy-and-sell-your-own-dynamic-nft/
우 리 는 기본 예제 만 보 여 주 려 고 하기 때문에 간단 한 NFT 에 tokenURI 를 설정 하지 않 았 습 니 다.
다음 편 에 서 는 NFT 진급 지식 을 설명 할 것 입 니 다.그러면 우리 가 체인 메타 데이터 로 실현 하 는 놀 라 운 기능 을 볼 수 있 습 니 다.opeansea 에서 NFT 를 과장 하고 우리 의 강 아 지 를 진작 시 킬 수 있 습 니 다!
이상 은 Python 으로 NFT 블록 체인 작품 을 만 드 는 방법 에 대한 상세 한 내용 입 니 다.Python 으로 NFT 블록 체인 작품 을 만 드 는 방법 에 대한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.