NFTRainbow 使用教程

NFTRainbow 使用教程

NFTRainbow 是一个“一站式、简单、开发者友好的 NFT 基础设施 & API服务”。利用 NFTRainbow 提供的 API,用户可以可以将任何文件(通常是图片或视频)铸造成为 NFT,从而大大缩短将 NFT 应用推向市场的时间。本教程旨在帮助开发者快速上手 NFTRainbow,更多内容请参考 NFTRainbow开发文档 以及 NFTRainbow API doc

准备工作

想要使用 NFTRainbow,您需要

  1. 注册 NFTRainbow 账户,并进行实名认证,实名认证通过后方可使用 NFTRainbow 的 Web API 功能

  2. 认证通过后,可以在 NFTRainbow console 创建自己的应用,通常一个应用对应一个产品(目前仅支持 Conflux 链)

  1. 应用列表 进入创建的应用,点击 “查看AppKey”,获取应用的信息

  1. 根据应用信息 登录 应用,获取 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,后面代码示例同

  2. 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 为开发者隐藏了以下步骤

  1. 上传文件到存储服务器生成文件 URL
  2. 创建 NFT Metadata 文件并生成 Metadata URI
  3. 调用 EasyNFT 合约 铸造 NFT

铸造完成后,您可以在 应用详情 页面查看自己的数字藏品,以及合约、接受地址、状态等其他信息。

定制化铸造

NFTRainbow 也为开发者提供了定制化铸造 NFT 的 API。与简单铸造不同,定制化铸造支持开发者自己部署 NFT 智能合约,在指定合约上铸造,并设置自定义的 Metadata URI。定制化铸造的步骤如下

  1. 使用 合约部署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,详情查看后文的 设置代付

  2. 上传文件 到服务器上,请求如下所示

    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}'
    
  3. 创建 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}"
    }'
    
  4. 使用 定制化铸造 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}"
    }'
    
  5. 此外,您还可以 一次铸造多个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 网络时,可以通过 代付APIConfluxscan 来申请代付
  • 使用 Conflux 网络时,您可以通过 Confluxscan 申请代付,当有大额需求时请联系 Conflux 官方。

总结

NFTRainbow 能够让开发者以最快的速度完成 NFT 应用的开发,从而可以让开发者把更多的精力放在为用户开发更好的产品服务上。NFTRainbow 具有多种优势

  • 提供多种资源托管方式:中心化存储,IPFS,云存储
  • 支持国内唯一合规 Conflux 树图链
  • 支持多种数字藏品应用场景
  • 支持批量铸造,超高上链性能

如果需要更多信息,请查阅 NFTRainbow开发文档。如果遇到问题,可以查看 FAQs 或者联系 [email protected]。此外,也可以在开发文档中找到更多关于 技术支持&开发者社区 的相关内容。快去尝试用 NFTRainbow 铸造你的 NFT 吧!

2 Likes