Métodos Go para Conversão de Token
O Blockchain App Builder gera automaticamente métodos que você pode usar para converter tokens fungíveis que usam o padrão Token Taxonomy Framework.
Os métodos de conversão de token incluem o conceito do pool de câmbio. A conta do pool de câmbio é financiada por outras contas de token. Ao criar tokens, você pode especificar que uma porcentagem dos tokens cunhados seja transferida para a conta do pool de câmbio.
Processo de Conversão de Token
Um fluxo típico para converter tokens segue estas etapas:- Chame o método
InitializeExchangePoolUser
para inicializar o usuário do pool de intercâmbio. - Chame o método
CreateExchangePoolAccounts
para criar contas de pool de câmbio. Crie uma conta de pool de câmbio para cada tipo de token fungível que você deseja converter ou converter. - Chame o método
AddConversionRate
para definir a taxa de conversão para cada par de tokens entre os quais você deseja converter. - Financie as contas de token do pool de câmbio de uma das seguintes maneiras:
- Transfira tokens para as contas de token do pool de câmbio usando os métodos de transferência padrão.
- Chame o método
MintWithFundingExchangePoolToken
ao cunhar tokens, que podem transferir uma porcentagem de tokens cunhados para uma conta de pool de câmbio.
- Chame o método
TokenConversion
para converter entre dois tokens fungíveis. Um único usuário pode converter tokens entre duas de suas contas de token, ou um par de usuários pode converter tokens diretamente de uma conta para outra. - O usuário do pool de câmbio pode exibir os saldos da conta do pool de câmbio e as transações da conta.
- Chame o método
GetAccount
para exibir os saldos de cada uma das contas de token do pool de câmbio. - Chame os métodos
GetAccountTransactionHistory
eGetAccountTransactionHistoryWithFilters
para exibir transações de conta para cada uma das contas de token do pool de câmbio.
- Chame o método
Métodos de Conversão de Token Gerados Automaticamente
O Blockchain App Builder gera automaticamente métodos para converter entre diferentes tipos de tokens fungíveis. Os métodos da Controladora devem ser públicos para serem chamados. Os nomes de métodos públicos começam com um caractere maiúsculo. Os nomes dos métodos que começam com um caractere minúsculo são privados.
-
InitializeExchangePoolUser
- Este método inicializa o usuário do pool de intercâmbio, que é uma atividade única. Este método só pode ser chamado por um
Token Admin
do chaincode. -
CreateExchangePoolAccounts
- Esse método cria contas de token do pool de câmbio para um determinado array de IDs de token. Este método só pode ser chamado por um
Token Admin
do chaincode. -
AddConversionRate
- Este método adiciona uma taxa de conversão para um par de tokens. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um
Token Admin
do chaincode. -
GetConversionRate
- Este método obtém a taxa de conversão atual para um par de tokens. Esse método pode ser chamado pelo
Token Admin
do chaincode, qualquerOrg Admin
e por qualquer proprietário de conta de token. -
UpdateConversionRate
- Este método atualiza a taxa de conversão atual para um par de tokens. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um
Token Admin
do chaincode. -
MintWithFundingExchangePool
- Esse método marca tokens na conta do chamador com base no ID e na quantidade especificados do token. Uma porcentagem de tokens da quantidade cunhada é transferida para a conta de token do pool de câmbio.
-
TokenConversion
- Esse método converte tokens da conta do chamador para a conta especificada pelos valores
to_token_id
,to_org_id
eto_user_id
. Esse método pode ser chamado peloToken Admin
do chaincode e por qualquer proprietário de conta de token. Um usuário do pool de intercâmbio não pode chamar esse método. -
GetConversionHistory
- Este método retorna o histórico de conversão de token para uma conta de token especificada. Esse método pode ser chamado pelo
Token Admin
do chaincode, umOrg Admin
da organização especificada e pelo proprietário da conta de token. -
GetConversionRateHistory
- Este método retorna o histórico de taxa de conversão de token para um par de tokens. Esse método pode ser chamado pelo
Token Admin
do chaincode, qualquerOrg Admin
e por qualquer proprietário de conta de token. -
GetExchangePoolUser
- Esse método retorna os valores
org_id
euser_id
para o usuário do pool de intercâmbio. Este método só pode ser chamado por umToken Admin
do chaincode.
Métodos SDK de Conversão de Token
-
InitializeExchangePoolUser
- Este método inicializa o usuário do pool de intercâmbio, que é uma atividade única. Este método só pode ser chamado por um
Token Admin
do chaincode. -
CreateExchangePoolAccounts
- Esse método cria contas de token do pool de câmbio para um determinado array de IDs de token. Este método só pode ser chamado por um
Token Admin
do chaincode. -
AddConversionToken
- Este método adiciona tokens com uma nova taxa de conversão para um token especificado. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um
Token Admin
do chaincode. -
Get
- Este método obtém a taxa de conversão atual para um par de tokens. Esse método pode ser chamado pelo
Token Admin
do chaincode e por qualquer proprietário de conta de token. -
UpdateTokenConversionRate
- Este método atualiza a taxa de conversão atual para um par de tokens. A taxa de conversão do token pode ser especificada com até oito casas decimais. Este método só pode ser chamado por um
Token Admin
do chaincode. -
MintWithFundingExchangePool
- Esse método marca tokens na conta do chamador com base no ID e na quantidade especificados do token. Uma porcentagem de tokens da quantidade cunhada é transferida para a conta de token do pool de câmbio.
-
TokenConversion
- Esse método converte tokens da conta do chamador para a conta especificada pelos valores
to_token_id
,to_org_id
eto_user_id
. Esse método pode ser chamado peloToken Admin
do chaincode e por qualquer proprietário de conta de token. Um usuário do pool de intercâmbio não pode chamar esse método. -
GetTokenConversionHistory
- Este método retorna o histórico de conversão de token para uma conta de token especificada. Esse método pode ser chamado pelo
Token Admin
do chaincode e pelo proprietário da conta do token. -
history
- Este método retorna o histórico de taxa de conversão de token para um par de tokens. Esse método pode ser chamado pelo
Token Admin
do chaincode, qualquerOrg Admin
e por qualquer proprietário de conta de token. -
GetExchangePoolUser
- Esse método retorna os valores
org_id
euser_id
para o usuário do pool de intercâmbio. Este método só pode ser chamado por umToken Admin
do chaincode.