Implemente e teste o Stablecoin Chaincode

Você pode implantar o chaincode diretamente na console do Oracle Blockchain Platform ou usando o Blockchain App Builder.

Implantando o Chaincode

Antes de implantar o chaincode, crie IDs de inscrição para cada usuário do token e mapeie os usuários do token para seus respectivos IDs de inscrição. Especifique apenas um usuário para cada matrícula. Para obter mais informações sobre como adicionar inscrições, consulte Adicionar Inscrições a um Proxy REST no Usando o Oracle Blockchain Platform.

Ao implantar o chaincode do token, você deve chamar o método init e informar o ID da organização e o ID do usuário Token Admin.

Para obter informações sobre a implantação no console do Oracle Blockchain Platform, consulte Usar Implantação Avançada em Usando o Oracle Blockchain Platform.

Para implantar usando o Blockchain App Builder, execute as etapas a seguir.
  1. Extraia o arquivo Stablecoin.zip.
  2. Importe o chaincode Stablecoin para a extensão Blockchain App Builder no Visual Studio Code.
  3. Edite o arquivo .ochain.json para atualizar o valor da chave configFileLocation para o caminho do arquivo de especificação Stablecoin.yml.
  4. Abra uma janela de terminal e navegue até a pasta chaincode e execute o comando a seguir.
    npm install
Para obter mais informações sobre a implantação usando o Blockchain App Builder, consulte Implantar Seu Chaincode Usando o Visual Studio Code em Usando o Oracle Blockchain Platform.

Fluxo de Processo de Amostra para o Stablecoin Chaincode

Um fluxo de processo típico usando os métodos stablecoin segue estes passos básicos.
Configurar:
  1. Os administradores de token usam o método initializeStablecoinToken para inicializar a stablecoin, especificando valores para o currencyName fixo (como USD) e conversionRate.
  2. Os administradores de token usam os métodos createAccount e associateTokenToAccount para criar contas de token e designar atribuições a todos os usuários, incluindo aprovadores para aprovações de vários níveis, minters, notários, remetentes e receptores.
  3. Administradores de token ou administradores de organização usam o método createAccountPolicyCheck para criar políticas de conta para todos os remetentes e destinatários e verificar sinalizadores de KYC, AML e restrição.
  4. Os administradores de token usam o método createApprovalPolicyCheck para definir políticas de aprovação especificando limites de transação, requisitos de aprovação, como o número necessário de aprovações e detalhes do aprovador com sequências de aprovação para aprovações de vários níveis.
  5. Os administradores de token usam o método addRole para designar atribuições como minter, burner e notário a contas.
Cunhagem:
  1. O mineiro usa o método requestMint para solicitar a aprovação para mint stablecoins.
  2. O aprovador de hortelã usa o método approveMint para aprovar a solicitação do mineiro.
  3. As stablecoins são emitidas para a conta do mineiro.
Retenção e transferência:
  1. Um usuário inicia uma transferência usando o método holdTokens.
  2. O sistema verifica a conformidade da política AccountPolicyCheck. Se os valores kycCompliance ou amlCompliance forem definidos como false para o remetente ou o destinatário, a transferência não ocorrerá. Se o valor restrictionFlag for definido como true para o remetente ou o recebedor, somente o valor na faixa mais baixa da política de aprovação poderá ser transferido. O valor da transferência é correspondido com os limites ApprovalPolicyCheck e os aprovadores apropriados com as sequências definidas são aplicados à transação.
  3. Os aprovadores usam o método approveTransaction para revisar e autorizar a transferência. As aprovações ocorrem com base na sequência do aprovador, conforme definido na política de aprovação.
  4. Após todas as aprovações, o notário do sistema (definido durante o processo de retenção) usa o método executeHoldTokens para aprovar a transação. O valor aprovado é transferido para a conta do recebedor.
Os valores kycCompliance, amlCompliance e restrictionFlag para o remetente e o destinatário são validados durante todas as aprovações que usam os métodos approveTransaction ou executeHoldTokens.
Incêndio:
  1. O queimador usa o método requestBurn para solicitar aprovação para queimar (destruir) stablecoins.
  2. O aprovador de gravação usa o método approveBurn para aprovar a solicitação do gravador.
  3. As stablecoins são queimadas da conta do queimador.
Auditing:
  • Administradores e auditores podem rastrear cada operação de hortelã, retenção, transferência, aprovação de vários níveis e gravação usando os métodos getAccountTransactionHistory e getAccountTransactionHistoryWithFilters.
Para obter mais detalhes sobre o uso de coleções Postman, consulte os tópicos a seguir no Blockchain App Builder para Oracle Blockchain Platform.