# 如何在 Archway 上构建、铸造和转移 NFT **Published by:** [Archway中文资料](https://paragraph.com/@archway/) **Published on:** 2022-03-24 **URL:** https://paragraph.com/@archway/archway-nft ## Content ![介绍 在过去的一年里,不可替代的代币或 NFT 一直是一个热门话题。从 CryptoKitties 到 Apes 的狂热和 Twitter 接受它们作为个人资料图片,NFT 成为去中心化数字世界的重要组成部分。 在本指南中,我们将学习如何使用 CosmWasm 在 Archway 中编写、部署和传输 NFT 集合智能合约。 CosmWasm 的 NFT 标准 要创建 NFT 智能合约,我们应该遵循一个令牌标准,该标准定义了一个具有通用端点和消息格式的接口。这些标准确保令牌将以特定方式运行并且可以相互组合。 NFT 合约最著名的规范是 ERC-721,它首先由 CryptoKitties 在以太坊上引入。在 CosmWasm 中,遵循相同的约定,我们将此标准称为 CW721。查看规范,我们看到它定义了一些我们必须遵循的消息和查询,最重要的是: 铸币厂 {token_id,所有者,token_uri} TransferNft {recipient, token_id} 代币{所有者} {token_id} 的所有者 这些是 NFT 的基本方面:铸造它们的入口点、转移的另一个入口点以及查询其所有权的方法。 创建智能合约 要在 Archway 中创建 NFT 智能合约,您需要Archway 开发者 CLI。如果您还没有配置它,请查看快速入门指南。 接下来,我们将设置两个帐户,一个用于部署和铸造NFT,另一个用于 NFT转账的接收者。](https://images.mirror-media.xyz/publication-images/OutlOHpnxJ9JJqHs9Xwhm.png?height=393&width=700)使用此模板的优点是它使用cw721-base crate 实例化我们的合约,这是 CW721 规范的基本实现,可以根据我们的需要轻松扩展。存储 NFT 元数据资产元数据是任何 NFT 的关键元素。它定义了 NFT 市场可以提取的名称、图像 URL 和其他属性等信息,以向用户显示相关信息。稀有度、自定义特性等都存储在这里。它的规范由*Metadata JSON Schema*定义。https://gist.github.com/aelesbao/ce6a0d94e6b6fb02b1d94e3f0472e057/raw/1bdce7d6bc6c9d3f082a0445b670950bff9490e5/metadata.json 在我们的示例中,我们会将这些信息保存在链上,或者换句话说,合约会将元数据存储在其内部状态中。这就是我们在src/lib.rs文件中定义元数据结构的方式:https://gist.github.com/aelesbao/031ad3b2ef452cf58d8847b56d0cdb69/raw/9be7adfbb74ecfad354570e1e2086da070fb9107/lib.rs发布和实例化合约在部署合约之前,我们需要从水龙头向我们的部署者账户申请代币。这可以通过archway faucet命令来完成。 ![现在我们准备好部署和实例化合约了。合约实例化需要三个参数: name:NFT 集合名称。 symbol: 表示它的令牌符号。 minter:允许使用此合约铸造新 NFT 的钱包地址。 要部署它,我们deploy使用命令行中配置的先前参数运行命令:](https://images.mirror-media.xyz/publication-images/JcwKmLNgVF8iT_60YcG4B.png?height=139&width=700) **铸币厂**地址应该和我们上面创建的部署**者**账户一样 项目编译完成后,系统会询问您从哪个钱包发送交易。只需键入部署程序并继续。铸币和查询为了铸造 NFT,我们需要发送一个带有MintMsg结构数据的交易作为 JSON 参数,其中元数据包含在扩展属性中。这是我们将使用的 JSON 字符串:结论如您所见,在 Archway 中创建 NFT 智能合约非常简单,并且只需很少的努力。而且,借助 Archway 的魔力,对于使用 NFT 集合进行的每一笔交易,开发人员都会在协议本身中获得奖励! 如果您想查看本教程中涵盖的源代码,可以在我们的合约示例存储库中找到它。如果您有兴趣了解 NFT 的演变,我建议您查看来自 OpenSea 的内容丰富的指南。 在后续文章中,您将学习如何构建一个前端应用程序来显示我们刚刚创建的集合。敬请关注! 有问题吗?加入我们的Discord频道,我们将在那里为您提供帮助! ***Archway ***是一个奖励开发者的智能合约平台。Archway 专为灵活开发和轻松部署到 Cosmos 而设计,可实现可扩展的跨链 dApp,以覆盖尽可能多的用户和资产。 准备好开始建造了吗?在此处查看我们的文档。 想要了解 Archway 的最新动态吗? 通讯// Discord // Twitter // Github ## Publication Information - [Archway中文资料](https://paragraph.com/@archway/): Publication homepage - [All Posts](https://paragraph.com/@archway/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@archway): Subscribe to updates