ERC1155插件
ERC1155协议
ERC1155的标准接口
interface ERC1155 /* is ERC165 */ {
// 安全的将指定的tokenId和指定数量的NFT从_from地址转移到_to地址
function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _value,
bytes calldata _data) external;
// 安全的将多个指定的tokenId和多个指定数量的NFT从_from地址转移到_to地址
function safeBatchTransferFrom(address _from, address _to, uint256[] calldata _ids,
uint256[] calldata _values, bytes calldata _data) external;
// 查询指定地址、指定NFT ID的NFT余额
function balanceOf(address _owner, uint256 _id) external view returns (uint256);
// 查询多个指定地址、指定NFT ID的NFT余额
function balanceOfBatch(address[] calldata _owners, uint256[] calldata _ids)
external view returns (uint256[] memory);
// 授权或取消授权_operator地址可以管理调用者的所有NFT
function setApprovalForAll(address _operator, bool _approved) external;
// 是否授权操作人操作所有NFT
function isApprovedForAll(address _owner, address _operator) external view returns (bool);
event TransferSingle(address indexed _operator, address indexed _from, address indexed _to,
uint256 _id, uint256 _value);
event TransferBatch(address indexed _operator, address indexed _from, address indexed _to,
uint256[] _ids, uint256[] _values);
event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
event URI(string _value, uint256 indexed _id);
}
支持的插件大全
插件类型
| 插件名称 | 插件说明 |
---|---|---|
广告插件 | banner | banner图的管理 |
连接器 | connector | 基于低代码框架实现的app与官方api交互 |
内容插件 | content | 内容分类管理、内容管理和单页内容管理 |
地区插件 | district | 中国省市县乡的数据 |
文件插件 | file | 基于IPFS实现的文件上传下载 |
后台插件 | manager | 后台菜单管理、角色管理和管理员管理,实现RBAC鉴权 |
插件管理 | plugins | 对所有满足协议的插件进行管理 |
短信插件 | sms | 短信发送和记录查询,支持沙盒和阿里云短信 |
单点登录 | sso | 浏览器插件单点登录后,获取jwt |
用户插件 | user | 前台用户信息管理 |
Docker插件 | docker | Docker镜像、容器、网络和卷管理 |
钱包插件 | ETH | 实现以太坊节点交互的相关操作 |
钱包插件 | ERC20 | 实现ERC20协议交互的相关操作 |
钱包插件 | ERC721 | 实现ERC721协议交互的相关操作 |
钱包插件 | ERC115 | 实现ERC1155协议交互的相关操作 |
钱包插件 | ERC3525 | 实现ERC3525协议交互的相关操作 |
钱包插件 | TRON | 实现波场节点交互的相关操作 |
创建账户
请求URL: /erc1155/account
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
userId | string | 用户ID | 是 |
请求示例:
{
"userId": 888
}
返回示例:
{
"msg": "success",
"code": 0,
"data": {
"private": "9c6e5621e90f928fc6054bf95554d19086bd00f97064c735442cdfa0d7c3510b",
"public": "03a02c7b45a9b244c5cd79d9a1d1061e49dca36e2c414a053fb41bae8152099435",
"address": "0xaf93670b61eed69f81a6e5db393d1d5d13b09eea"
}
}
获取账户列表
请求URL: /erc1155/accounts
请求方式: GET
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
pageSize | string | 每页数量 | 是 |
pageNum | string | 页数 | 是 |
请求示例:
/erc1155/accounts?pageSize=10&pageNum=1
返回示例:
{
"msg": "success",
"code": 0,
"data": {
"records": [
{
"userId": 21,
"privateKey": "",
"publicKey": "03748ea1b350b2eeb8de409303c6d3556843ed2cabe50eabb4132b5b5188429fcf",
"address": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"create_time": "2024-08-04 14:12:51",
"update_time": "2024-08-04 14:12:51"
}
],
"total": 1
}
}
发布合约
请求URL: /erc1155/deploy
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 操作用户地址 | 是 |
name | string | 代币名称 | 是 |
symbol | string | 代币符号 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"name": "NFT 1155",
"symbol": "888"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0x2ee821344792a2109d8e74748f356f99d1ba3362d298afd212416fcbbb6e9299"
}
铸造NFT
请求URL: /erc1155/mint
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
account | string | 颁发给指定账户 | 是 |
tokenId | string | NFT ID | 是 |
amount | string | NFT 数量 | 是 |
tokenURI | string | 获取NFT相关元数据的URI | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x71bb9de112757087ba508d997e23c84526a28b1b",
"account": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"tokenId": "666",
"amount": "10",
"tokenURI": "https://www.biwow.com"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0x36f9ea7fedcbf45d4b37fda4166f34a5c7f95eb25dbf4734d2479bcec39f5aa1"
}
安全转移NFT归属
请求URL: /erc1155/safeTransferFrom
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
sender | string | 发送方地址 | 是 |
receiver | string | 接收方地址 | 是 |
tokenId | string | NFT ID | 是 |
amount | string | NFT 数量 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x71bb9de112757087ba508d997e23c84526a28b1b",
"sender": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"receiver": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"tokenId": "666",
"amount": "2"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0xb9ad8f9f37b295980600542d6a912c931cbb099eeed6dde837e20778f70fa87d"
}
授权/取消操作人管理自己所有NFT
请求URL: /erc1155/setApprovalForAll
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
operator | string | 操作人 | 是 |
approved | string | 全部授权(yes)全部取消(no) | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x71bb9de112757087ba508d997e23c84526a28b1b",
"operator": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"approved": "no"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0x60aaa87cd38cf4cd3fb1a38b8d21861112a8d1de480150150104166bb29cc11f"
}
查询账户下NFT数量
请求URL: /erc1155/balanceOf
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
account | string | 账户地址 | 是 |
tokenId | string | NFT ID | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x71bb9de112757087ba508d997e23c84526a28b1b",
"account": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"tokenId": "666"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": 8
}
查询NFT ID对应的URI
请求URL: /erc1155/tokenURI
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
tokenId | string | NFT ID | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x71bb9de112757087ba508d997e23c84526a28b1b",
"tokenId": "666"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "https://www.biwow.com"
}
查询拥有者是否授权操作者管理所有NFT
请求URL: /erc1155/isApprovedForAll
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
owner | string | NFT拥有者 | 是 |
operator | string | NFT操作者 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x71bb9de112757087ba508d997e23c84526a28b1b",
"owner": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"operator": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": true
}