Token
O tokens são a base do programa de benefícios
Resumo
Tokens são a representação de um ativo na rede blockchain, eles podem ser de diferentes tipos como Tokens Fungíveis (ERC20), Tokens Não Fungíveis (ERC721) e Tokens Semi Fungíveis (ERC1155)
Tokens estão diretamente relacionados a Coleções, e podem ser operados em massa pelos endpoint da coleção a qual pertencem ou individualmente através dessa seção.
Tokens Fungíveis são geralmente utilizados como moeda, ele é representado nessa API como um token único com Total Supply maior que zero.
Tokens Não Fungíveis são popularmente conhecidos como NFTs, eles representam ativos únicos na rede blockchain e são representados nessa API como tokens únicos e com Total Supply igual a 1
Tokens Semi Fungíveis representam ativos raros na rede blockchain, um Tokens Semi Fungível possui Total Supply maior que zero.
Diferentes tipos de tokens podem estar associados a diferentes tipos de benefícios, tokens fungíveis podem trazer benefícios de acordo com as configurações da empresa emissora, como por exemplo, oferecer benefícios para usuários que fizerem hold do token, ou podem ser usados como meio de precificação e pagamento de NFTs, que por sua vez podem ser combinados de diferentes formas e entregar beneficios diferentes dependendo da classificação de cada token.
Gestão de tokens web3
Os métodos web3 disponíveis nessa seção são os métodos mais comuns relacionados a um único token, se o métodos buscado não estiver disponível nessa seção ele poderá ser utilizados diretamente na Coleção.
Todas as operações Web3 são enviadas para uma fila e executadas de forma assíncrona.
Objeto Token
Endpoints
Tokens
GET /v1/tokens/
GET /v1/tokens/:tokenId
Gestão de Tokens
GET /v1/tokens/owned
GET /v1/tokens/manage
GET /v1/tokens/:tokenId/manage
PATCH /v1/tokens/:tokenId/manage
Gestão do token na web3
GET /v1/tokend/:tokenId/manage/web3/ownerOf
GET /v1/tokend/:tokenId/manage/web3/ballanceOf/:address
POST /v1/tokend/:tokenId/manage/web3/mint
POST /v1/tokend/:tokenId/manage/web3/burn
POST /v1/tokend/:tokenId/manage/web3/transfer
POST /v1/tokend/:tokenId/manage/web3/transferFrom
Tokens
Lista os tokens públicos da plataforma
GET
https://goblockchain.io/gotokens-api/v1/tokens
Nível de permissionamento necessário: qualquer
Query Parameters
limit
String
Limite de resultados da busca
offset
String
Quantidade de resultados para avançar da busca
communityId
String
ID da Comunidade
companyId
String
ID da Empresa
collectionId
String
ID da Coleção
currency
String
Tipo de moeda utilizada
tags
Array
Tags do Token
[
{
"id":"1"
"tokenId": "123",
"collectionId": "321",
"transactionType": "sale",
"name": "My E-sports Token 1",
"sale": {
"price": "12",
"decimals": "2",
"currency": "ETH"
},
"supply": "100",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "0242ac120002"
}
],
},
{
"id":"2"
"tokenId": "456",
"collectionId": "654",
"transactionType": "airdrop",
"name": "My E-sports Token 2",
"supply": "500",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "bfb46d00-5ae3-11ed-9b6a-0242ac120002"
}
],
}
]
Exibe detalhes de tokens públicos
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId
Nível de permissionamento necessário: qualquer
Path Parameters
tokenId*
String
ID do token
{
"id":"1"
"tokenId": "123",
"collectionId": "321",
"transactionType": "sale",
"name": "My E-sports Token 1",
"sale": {
"price": "12",
"decimals": "2",
"currency": "ETH"
},
"supply": "100",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "0242ac120002"
}
],
}
Gestão de Tokens
(JWT) Lista os tokens que o usuário logado possui
GET
https://goblockchain.io/gotokens-api/v1/tokens/owned
Nível de permissionamento necessário: company_admin
, company_moderator
, community_admin
, community_moderator
, member
Query Parameters
limit
String
Limite de resultados da busca
offset
String
Quantidade de resultados para avançar da busca
communityId
String
ID da Comunidade
companyId
String
ID da Empresa
collectionId
String
ID da Coleção
tags
Array
Tags do Token
Headers
authorization*
Bearer
JWT
[
{
"id":"1"
"tokenId": "123",
"collectionId": "321",
"transactionType": "sale",
"name": "My E-sports Token 1",
"sale": {
"price": "12",
"decimals": "2",
"currency": "ETH"
},
"supply": "100",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "0242ac120002"
}
],
},
{
"id":"2"
"tokenId": "456",
"collectionId": "654",
"transactionType": "airdrop",
"name": "My E-sports Token 2",
"supply": "500",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "bfb46d00-5ae3-11ed-9b6a-0242ac120002"
}
],
}
]
(JWT) Lista os tokens públicos e privados da plataforma
GET
https://goblockchain.io/gotokens-api/v1/tokens/manage
Nível de permissionamento necessário: company_admin
, company_moderator
, community_admin
, community_moderator
Query Parameters
limit
String
Limite de resultados da busca
offset
String
Quantidade de resultados para avançar da busca
communityId
String
ID da Comunidade
companyId
String
ID da Empresa
collectionId
String
ID da Coleção
currency
String
Tipo de moeda utilizada
tags
Array
Tags do Token
Headers
authorization*
Bearer
JWT
[
{
"id":"1"
"tokenId": "123",
"collectionId": "321",
"transactionType": "sale",
"name": "My E-sports Token 1",
"sale": {
"price": "12",
"decimals": "2",
"currency": "ETH"
},
"supply": "100",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "0242ac120002"
}
],
},
{
"id":"2"
"tokenId": "456",
"collectionId": "654",
"transactionType": "airdrop",
"name": "My E-sports Token 2",
"supply": "500",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "bfb46d00-5ae3-11ed-9b6a-0242ac120002"
}
],
}
]
(JWT) Exibe detalhes de tokens públicos e privados
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage
Nível de permissionamento necessário: company_admin
, company_moderator
, community_admin
, community_moderator
Path Parameters
tokenId*
String
ID do token
Headers
authorization*
Bearer
JWT
{
"id":"1"
"tokenId": "123",
"collectionId": "321",
"transactionType": "sale",
"name": "My E-sports Token 1",
"sale": {
"price": "12",
"decimals": "2",
"currency": "ETH"
},
"supply": "100",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "0242ac120002"
}
],
}
(JWT) Altera informações de um token
PATCH
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage
Nível de permissionamento necessário: company_admin
Path Parameters
tokenId*
String
Headers
authorization*
Bearer
JWT
Request Body
tokenId
String
collectionId
String
transactionType
String
owners
String
displayMediaUrl
String
displayMediaType
String
supply
String
tags
Array
{
"id":"1"
"tokenId": "123",
"collectionId": "321",
"transactionType": "sale",
"name": "My E-sports Token 1",
"sale": {
"price": "12",
"decimals": "2",
"currency": "ETH"
},
"supply": "100",
"tags": ["esportes"],
"displayMediaType": "image",
"displayMediaUrl": "https://placehold.it/300x300",
"owners": [
{
"quantity": "2",
"userId": "0242ac120002"
}
],
}
Gestão de Tokens na web3
(JWT) Consulta o proprietário do token na web3
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/ownerOf
Nível de autorização necessário: member
Path Parameters
tokenId*
String
ID da Coleção
address
String
Headers
authorization*
Bearer
JWT
"ownerAddress": "0x89s7das87d87as7d9a8s7da7sd98a7sd98a8d79as8d7sa8d"
(JWT) Consulta o saldo de tokens para a carteira informada na web3
GET
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/balanceOf/:address
Nível de autorização necessário: member
Path Parameters
tokenId*
String
ID da Coleção
address
String
Headers
authorization*
Bearer
JWT
"balanceOf": "1000"
(JWT/Wallet) Mint de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/mint
Nível de autorização necessário: company_admin
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
Diferentes tokens possuem diferentes possibilidades de mint. ex: tokens ERC20 e ERC1155 possuem supply e é possível, faz o mint inicial para criar o token na blockchain, e posteriormente novos mints podem ser usados para aumentar o supply, caso o contrato permita, já tokens ERC721 só podem ser mintados a primeira vez, novos mints do mesmo tokenId não produzem qualquer efeito.
Path Parameters
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
(JWT/Wallet) Mint de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/burn
Nível de autorização necessário: member
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
O método precisa existir no contrato e as regras relativas a quem pode queimar cada token também estão definidas dentro do contrato.
Path Parameters
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
(JWT/Wallet) Transfer de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/transfer
Nível de autorização necessário: member
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
O método precisa existir no contrato e as regras relativas a quem pode transferir cada token também estão definidas dentro do contrato.
Path Parameters
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
toAddress*
String
(JWT/Wallet) Transfer de Tokens na Web3
POST
https://goblockchain.io/gotokens-api/v1/tokens/:tokenId/manage/web3/transferFrom
Nível de autorização necessário: member
É necessário um carteira com saldo vinculada ao usuário e a carteira precisa ter permissão de execução do método no contrato.
O método precisa existir no contrato e as regras relativas a quem pode transferir cada token também estão definidas dentro do contrato.
Path Parameters
tokenId*
String
ID da Coleção
Headers
authorization*
Bearer
JWT
Request Body
amount*
String
Quantidade de tokens
toAddress*
String
fromAddress
String
Last updated
Was this helpful?