NFTRainbow 使用教程
NFTRainbow 是一个“一站式、简单、开发者友好的 NFT 基础设施 & API服务”。利用 NFTRainbow 提供的 API,用户可以可以将任何文件(通常是图片或视频)铸造成为 NFT,从而大大缩短将 NFT 应用推向市场的时间。本教程旨在帮助开发者快速上手 NFTRainbow,更多内容请参考 NFTRainbow开发文档 以及 NFTRainbow API doc。
准备工作
想要使用 NFTRainbow,您需要
-
注册 NFTRainbow 账户,并进行实名认证,实名认证通过后方可使用 NFTRainbow 的 Web API 功能
-
认证通过后,可以在 NFTRainbow console 创建自己的应用,通常一个应用对应一个产品(目前仅支持 Conflux 链)
- 从 应用列表 进入创建的应用,点击 “查看AppKey”,获取应用的信息
-
根据应用信息 登录 应用,获取 JWT Token,为后续的 API 请求做身份验证。请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/login \ --header 'Content-Type: application/json' \ --data-raw '{ "app_id": "{APPID}", "app_secret": "{SECRET}" }'
注:本教程的代码示例中,{} 表示此处要替换对应的值,例如 {APPID} 表示此处应该填写 App ID,后面代码示例同
-
JWT Token 的有效期为1h,如果过期可以调用相应的 API 进行 刷新。请求如下所示
curl --request GET \ --url https://api.nftrainbow.cn/v1/refresh_token \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: application/json'
铸造NFT
NFTRainbow 提供了两种方式铸造 NFT,分别是 简单铸造 和 定制化铸造。
简单铸造
简单铸造 NFT,您需要提供
- NFT 名称
- NFT 描述
- NFT 文件
- NFT 铸造目标链(目前仅支持 Conflux 链)
- NFT 铸造目标地址
其中,NFT 文件包括但不限于图片、音频、视频、文本等;通常,艺术品类 NFT 都是图片、音频或视频文件。
如果在 NFTRainbow console 中铸造,您需要从 应用列表 进入应用,点击 “铸造藏品”,如下图所示。其中, “图片” 一栏除了可以接受图片上传,也可接受音频、视频等文件上传。
注:目前 NFTRainbow console 中仅支持在 Conflux 链测试网铸造,不支持主网
如果利用 Web API 铸造,共有2个 API 可供使用,分别是
-
根据文件铸造,请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/mints/easy/files \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --form file= '{FILE}' \ --form chain= 'conflux_test' \ --form description= '{DESCRIPTION}' \ --form mint_to_address= '{ADDRESS}' \ --form name= '{NAME}'
-
根据 Metadata URL 铸造,请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/mints/easy/urls \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: application/json' \ --data-raw '{ "chain": "conflux_test", "name": "{NAME}", "description": "{DESCRIPTION}", "mint_to_address": "{ADDRESS}", "file_url": "{URI}" }'
简单铸造 NFT 时,实际上 NFTRainbow 为开发者隐藏了以下步骤
- 上传文件到存储服务器生成文件 URL
- 创建 NFT Metadata 文件并生成 Metadata URI
- 调用 EasyNFT 合约 铸造 NFT
铸造完成后,您可以在 应用详情 页面查看自己的数字藏品,以及合约、接受地址、状态等其他信息。
定制化铸造
NFTRainbow 也为开发者提供了定制化铸造 NFT 的 API。与简单铸造不同,定制化铸造支持开发者自己部署 NFT 智能合约,在指定合约上铸造,并设置自定义的 Metadata URI。定制化铸造的步骤如下
-
使用 合约部署API 部署一个合约,请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/contracts/ \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: application/json' \ --data-raw ' { "chain": "conflux_test", "name": "{NAME}", "symbol": "{SYMBOL}", "owner_address": "{ADDRESS}", "type": "erc721", "base_uri": "{URI}", "royalties_bps": 0, "royalties_address": "", "tokens_burnable": false, "tokens_transferable": false, "transfer_cooldown_time": 0 }'
注:合约部署后,需要先设置代付才能进行mint,详情查看后文的 设置代付
-
上传文件 到服务器上,请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/files/ \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --form file= '{FILE}'
NFTRainbow 也提供了 上传文件到 OSS 服务器 的 API,请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/files/oss \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --form file= '{FILE}'
-
创建 Metadata,得到 Metadata URI,请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/mints/easy/urls \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: application/json' \ --data-raw '{ "chain": "conflux_test", "name": "{NAME}", "description": "{DESCRIPTION}", "mint_to_address": "{ADDRESS}", "file_url": "{METADATA_URI}" }'
-
使用 定制化铸造 NFT 进行铸造,您需要提供
- NFT Metadata URI
- NFT 智能合约地址
- NFT 铸造目标链(目前仅支持 Conflux 链)
- NFT 铸造目标地址
- NFT Token ID
请求如下所示
curl --request POST \ --url https://api.nftrainbow.cn/v1/mints/ \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: application/json' \ --data-raw '{ "chain": "conflux_test", "token_id": "{ID}", "mint_to_address": "{ADDRESS_1}", "contract_address": "{ADDRESS_2}", "metadata_uri": "{URI}" }'
-
此外,您还可以 一次铸造多个NFT
curl --request POST \ --url https://api.nftrainbow.cn/v1/mints/customizable/batch \ --header 'Authorization: Bearer {JWT}' \ --header 'Content-Type: application/json' \ --data-raw '{ "chain": "conflux_test", "name": "{NAME}", "description": "{DESCRIPTION}", "contract_type":"erc721", "contract_address": "{ADDRESS}", "mint_items": [ { "mint_to_address": "{ADDRESS_1}", "metadata_uri": "{URI_1}", "token_id":"{ID_1}", "amount": 1 }, { "mint_to_address": "{ADDRESS_2}", "metadata_uri": "{URI_2}", "token_id":"{ID_2}", "amount": 1 } ] }'
设置代付
目前 NFTRainbow 支持的 Conflux 链具有代付机制,可以由代付方支付合约调用所花费的 gas,而合约调用方不需要付费。对开发者来说,这一机制可以帮助他们完全免费地铸造NFT,铸造花费的gas将由代付方进行支付。
- 使用 Conflux test 网络时,可以通过 代付API 或 Confluxscan 来申请代付
- 使用 Conflux 网络时,您可以通过 Confluxscan 申请代付,当有大额需求时请联系 Conflux 官方。
总结
NFTRainbow 能够让开发者以最快的速度完成 NFT 应用的开发,从而可以让开发者把更多的精力放在为用户开发更好的产品服务上。NFTRainbow 具有多种优势
- 提供多种资源托管方式:中心化存储,IPFS,云存储
- 支持国内唯一合规 Conflux 树图链
- 支持多种数字藏品应用场景
- 支持批量铸造,超高上链性能
如果需要更多信息,请查阅 NFTRainbow开发文档。如果遇到问题,可以查看 FAQs 或者联系 [email protected]
。此外,也可以在开发文档中找到更多关于 技术支持&开发者社区 的相关内容。快去尝试用 NFTRainbow 铸造你的 NFT 吧!