最近,开源工具使NFT编程变得更容易了,这些工具允许您导入可靠的智能合约,而不必从头开始构建您的NFT项目。一旦您掌握了所需的技能和知识并熟悉了使您的构建更容易的工具,您会发现NFT开发可以非常简单、轻松和有趣!
NFT编程的先决条件
首先,您需要熟悉区块链、智能合约、Web3、DeFi、dApps的概念以及这些生态系统的工作原理。您还需要对以太坊等去中心化网络有透彻的了解。理想情况下,您应该已经探索过在以太坊上构建的各种方法,例如编程dApp或创建ERC-20代币。此外,您应该已经了解JavaScript和Solidity等编程语言。
JavaScript和Solidity以及JSON等格式对于创建智能合约和与区块链交互非常重要。它们对于了解各种Web3工具和中间件平台(如Moralis)的作用也是必要的,它们将帮助您优化构建。
要获得有关JavaScript及其与区块链的关系的坚实基础,请查看Ivan在Tech Academy上的以下课程:“面向区块链开发人员的JavaScript编程课程”。这是对该主题的精彩介绍,为您提供了JavaScript在区块链和NFT开发中重要性的独特视角。您的编程技能集的另一个必备技能Solidity被称为“智能合约语言”。Solidity专为创建以太坊和智能合约而构建。您可以通过Ivan在Tech Academy的介绍以太坊智能合约编程的入门课程中了解更多信息。
如果你勾选了所有这些框,你就可以继续下一步了,这就是NFT开发的实际过程。
NFT开发-简化指南
虽然我们可能不会涵盖NFT编程或NFT开发的所有复杂性,但本指南将向您介绍该过程的一般步骤以及您可以在此过程中使用的工具,以帮助使其更简单。
NFT编程步骤
本指南的组织方式为您提供NFT编程或NFT开发中重要步骤的概述。NFT编程的基本步骤是:
NFT本身的创建,其中涉及构建智能合约。
添加元数据并为元数据查找主机。
在市场上列出您的NFT。
管理你的NFT。
请注意:在本文中,我们将重点关注前两个步骤,即通过构建基于ERC-1155标准的智能合约和为元数据找到主机来创建NFT。但是,由于步骤3和4也很重要,您可以参考前面提到的NFT编程视频以更详细地了解它们。
NFT编程第1步:创建NFT
我们即将创建一个ERC-1155代币。请注意,有两种NFT或不可替代的代币标准:ERC-721和ERC-1155。ERC-1155比ERC-721更新且具有更多功能。
使用创建不可替代代币的最新标准ERC-1155具有某些优势,包括:
更大的灵活性。
能够在同一个合约中创建和使用可替代和不可替代的代币。
进行批量传输。
更有效地设置和管理参数。
建立智能合约
要创建智能合约,请访问Remix(http://remix.ethereum.org)。Remix可让您访问众多库,从而更轻松地构建智能合约。这些库作为可用于NFT开发的可靠且经过测试的智能合约的来源非常有用。
创建一个新文件
在您的Remix工作区中创建一个新文件。为此,我们将其命名为“Opensea_nft”,但您可以自由选择任何您喜欢的名称。
重要的是要重申,在继续进行之前您必须了解Solidity。如果您仍在学习Solidity的基本原理,请查看Moralis的Youtube频道,了解更多教育工具和出色的Solidity教程。
首先输入“pragma solidity^0.8.0”。这是用于此目的的编译器版本。接下来,从OpenZeppelin导入ERC-1155代币合约。OpenZeppelin令人惊叹的代币合约库和其他有用的合约为您提供了经过充分测试且可靠的智能合约,您可以轻松地使用这些合约在您的构建中执行常见功能。
在OpenZeppelin中查找ERC-1155智能合约
在这里,您可以看到ERC-1155合约的OpenZeppelin GitHub页面:
ERC-1155标准提供了NFT所需的所有功能,包括跟踪余额所需的映射功能和检查余额的功能。它还提供了进行转账、铸造新的NFT(包括批量铸造)和销毁NFT的功能。并非所有可用功能都将在此项目中实现。我们只会选择最相关的。
从智能合约创建NFT
将原始合约导入Remix上新创建的智能合约。为此,您只需导入GitHub链接。
继续定义新的智能合约。为新合约命名(为此,我们称其为“NFTContract”)。在此之后,您可以“继承”原始ERC-1155合约。Solidity中的继承仅仅意味着您从该合约中获取功能。
继承合约后,就可以开始基于父ERC-1155合约实现自己的NFT了。
实现你自己的NFT
您可以在此处指定合同特有的项目。例如,您可以命名您的NFT项目并指定要铸造的代币数量。您还将提供元数据并指明谁可以调用您合约中的函数。