ERC20插件
ERC20协议
ERC20的标准接口
contract ERC20 {
function name() constant returns (string name)
function symbol() constant returns (string symbol)
function decimals() constant returns (uint8 decimals)
function totalSupply() constant returns (uint totalSupply);
function balanceOf(address _owner) constant returns (uint balance);
function transfer(address _to, uint _value) returns (bool success);
function transferFrom(address _from, address _to, uint _value) returns (bool success);
function approve(address _spender, uint _value) returns (bool success);
function allowance(address _owner, address _spender) constant returns (uint remaining);
event Transfer(address indexed _from, address indexed _to, uint _value);
event Approval(address indexed _owner, address indexed _spender, uint _value);
}
创建账户
请求URL: /erc20/account
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
userId | string | 用户ID | 是 |
请求示例:
{
"userId": 888
}
返回示例:
{
"msg": "success",
"code": 0,
"data": {
"private": "9c6e5621e90f928fc6054bf95554d19086bd00f97064c735442cdfa0d7c3510b",
"public": "03a02c7b45a9b244c5cd79d9a1d1061e49dca36e2c414a053fb41bae8152099435",
"address": "0xaf93670b61eed69f81a6e5db393d1d5d13b09eea"
}
}
获取账户列表
请求URL: /eth20/accounts
请求方式: GET
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
pageSize | string | 每页数量 | 是 |
pageNum | string | 页数 | 是 |
请求示例:
/erc20/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: /erc20/deploy
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 操作用户地址 | 是 |
name | string | 代币名称 | 是 |
symbol | string | 代币符号 | 是 |
totalSupply | string | 代币发行量 | 是 |
decimals | string | 代币小数位 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"name": "BI BI BI",
"symbol": "BBB",
"totalSupply": "1000000000000",
"decimals": "4"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0x1cd61bc6cd81da631734cac08b927dfbc5f34a92d8d111746fa52bf84559b42e"
}
增发给指定账户
请求URL: /erc20/mint
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
account | string | 指定账户 | 是 |
amount | string | 指定金额 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"account": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"amount": "10000"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0x1cd61bc6cd81da631734cac08b927dfbc5f34a92d8d111746fa52bf84559b42e"
}
燃烧指定账户指定金额
请求URL: /erc20/burn
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
account | string | 指定账户 | 是 |
amount | string | 指定金额 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"account": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"amount": "10000"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0x1cd61bc6cd81da631734cac08b927dfbc5f34a92d8d111746fa52bf84559b42e"
}
冻结指定账户指定金额
请求URL: /erc20/freeze
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
account | string | 指定账户 | 是 |
amount | string | 指定金额 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"account": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"amount": "20000"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0x08402c74e0c0ea528ae1bb46a71b2aae503791d3520c9c87c19f9fd3b2aad4ee"
}
解冻指定账户指定金额
请求URL: /erc20/unfreeze
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
account | string | 指定账户 | 是 |
amount | string | 指定金额 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"account": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"amount": "20000"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0xf52a5c4813810731d7751ec0cc4bc6f4eb7c82e27ea13c38d90e4ec04d9b6ad0"
}
转账
请求URL: /erc20/transfer
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
receiver | string | 接收账户地址 | 是 |
amount | string | 指定金额 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"receiver": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"amount": "10000"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0xf52a5c4813810731d7751ec0cc4bc6f4eb7c82e27ea13c38d90e4ec04d9b6ad0"
}
授权账户使用指定金额
请求URL: /erc20/approve
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
spender | string | 使用账户地址 | 是 |
amount | string | 指定金额 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"spender": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"amount": "10000"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0xf52a5c4813810731d7751ec0cc4bc6f4eb7c82e27ea13c38d90e4ec04d9b6ad0"
}
从授权账户中转账
请求URL: /erc20/transferFrom
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
owner | string | 实际拥有者地址 | 是 |
receiver | string | 接收账户地址 | 是 |
amount | string | 指定金额 | 是 |
请求示例:
{
"from": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"owner": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"receiver": "0xEa484eb0e1dd9c20d1dd6531489C69a14667F2fe",
"amount": "10000"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "0xf52a5c4813810731d7751ec0cc4bc6f4eb7c82e27ea13c38d90e4ec04d9b6ad0"
}
查询授权金额
请求URL: /erc20/allowance
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
owner | string | 实际拥有者地址 | 是 |
spender | string | 使用者账户地址 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"owner": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"spender": "0x8B665E3DF1ECBAC264cFEc3622Cb9049a62bD4e4"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": 10000
}
查询指定账户余额
请求URL: /erc20/balanceOf
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
account | string | 被查询地址 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825",
"account": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": 999999990000
}
查询合约名称
请求URL: /erc20/tokenName
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "BI BI BI"
}
查询合约小数位
请求URL: /erc20/decimals
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": 4
}
查询合约代币符号
请求URL: /erc20/symbol
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": "BBB"
}
查询合约代币发行量
请求URL: /erc20/totalSupply
请求方式: POST
请求参数:
参数名 | 类型 | 说明 | 是否必填 |
---|---|---|---|
from | string | 发起账户地址 | 是 |
to | string | 代币合约地址 | 是 |
请求示例:
{
"from": "0x9999f79a9ae77b8454b7c73c9c06532ab4f2d1d9",
"to": "0x7a9cd3de5d399c6e8711c7d0fe76ea7419740825"
}
返回示例:
{
"msg": "success",
"code": 0,
"data": 1000000000000
}