Implementar e Testar o Chaincode do Marketplace de Bond
Pré-requisitos
Conclua as etapas a seguir antes de trabalhar com o chaincode do mercado de títulos.- Criar um aplicativo cliente confidencial no Oracle Identity Cloud Service. A API wrapper do mercado de títulos fornece métodos para criar usuários do Identity Cloud Service que podem ser usados pelos clientes em seu fluxo de inscrição. Isso requer um aplicativo cliente confidencial que tenha o privilégio de criar um novo usuário no Identity Cloud Service. O chaincode do mercado de títulos requer o ID do cliente e o segredo do cliente deste aplicativo. Para obter mais informações sobre como adicionar um aplicativo confidencial, consulte Adicionar um Aplicativo Confidencial.
- Crie grupos de usuários e configure-os na instância do Oracle Blockchain Platform. Os grupos de usuários do Identity Cloud Service, como
ADMIN_GROUP
,USER_GROUP
,CLIENT_GROUP
etc., devem ser criados e configurados para as instâncias correspondentes do Oracle Blockchain Platform com base nas atribuições de acesso e aplicativo correspondentes, comoadmin
,restproxy user
,ca user
etc. Para obter mais informações, consulte Configurar Usuários e Atribuições da Aplicação. - Implantar o chaincode de CBDC por atacado. O chaincode de CBDC por atacado deve ser implantado nas mesmas instâncias do Oracle Blockchain Platform nas quais o chaincode de mercado de títulos é implantado. O token e a conta de token correspondentes devem ser configurados no chaincode CBDC de atacado como o modo de pagamento padrão para o título. Você pode fazer isso manualmente ou usando a coleção Postman gerada pelo Blockchain App Builder. O chaincode de CBDC por atacado e o mercado de títulos podem ser implantados no mesmo canal ou em canais diferentes.
Implantando o Chaincode
Você pode implantar o chaincode diretamente na console do Oracle Blockchain Platform ou usando o Blockchain App Builder. Antes de implantar o chaincode, crie IDs de inscrição para cada usuário de token e mapeie os usuários de 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.
Ao implantar o chaincode de 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 na console do Oracle Blockchain Platform, consulte Usar Implantação Avançada.
- Extraia o arquivo compactado
BondMarketplace.zip
. - Importe o chaincode
BondMarketplace
para a extensão Blockchain App Builder no Visual Studio Code. - Edite o arquivo
.ochain.json
para atualizar o valor da chaveconfigFileLocation
para o caminho do arquivo de especificaçãoBondMarketplace.yml
. - Abra uma janela de terminal e navegue até a pasta chaincode e execute o comando a seguir.
npm install
Fluxo do Processo de Amostra do Mercado de Bond
Um fluxo de processo típico usando os métodos do mercado de títulos segue estas etapas básicas.- Os administradores usam os métodos
createUserAccount
ecreateTokenAccount
para criar contas NFT individuais para todos os usuários. - Os administradores usam o método
addRole
para atribuir a função de mineiro aos executivos das instituições financeiras participantes (por exemplo,FI-1 Bond Issuer
). - Os administradores de instituições financeiras (emissores de títulos) usam o método
createBondToken
para emitir títulos como NFTs fracionários. - Os administradores de instituições financeiras usam o método
getTokenById
para revisar e confirmar os detalhes das obrigações emitidas. - Os compradores de títulos (por exemplo,
FI User
) usam o métodopurchaseToken
para comprar o título NFT fracionado e fazer um pagamento usando o chaincode CBDC por atacado. - Os compradores usam o método
balanceOfBatch
para verificar o recebimento do título em sua carteira. - Os compradores usam o método
getAccountBalance
(código de cadeia CBDC de atacado) para confirmar a transferência em sua carteira CBDC de atacado. - Os emissores de títulos usam o método
payInterest
para pagar juros periódicos aos detentores de títulos usando o chaincode CBDC por atacado. - Os compradores usam o método
requestTokenRedemption
para enviar uma solicitação para resgatar seu título após o vencimento. - Os administradores de instituições financeiras usam o método
approveTokenRedemption
para aprovar a solicitação de resgate e transferir fundos CBDC atacadistas para o titular do título. - O detentor do título usa o método
balanceOfBatch
(código de cadeia do mercado de títulos) e o métodogetAccountBalance
(código de cadeia CBDC de atacado) para verificar se o título foi resgatado e se recebeu fundos em sua carteira CBDC de atacado.