Referência de Implantação CBDC de Atacado

As informações a seguir incluem descrições dos objetos de banco de dados criados pelo script ORDS e dicas de solução de problemas.

O script ORDS cria as seguintes views operacionais usando o parâmetro VIEW_PREFIX configurado.

<VIEW_PREFIX>_ACCOUNTS_V
<VIEW_PREFIX>_TRANSFER_EVENTS_V
<VIEW_PREFIX>_HOLDS_V
<VIEW_PREFIX>_ACTIVE_ROLES_V
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V
<VIEW_PREFIX>_ACCOUNT_HISTORY_V

Se você selecionar a análise, as seguintes exibições analíticas serão criadas, com escopo na implantação.

<VIEW_PREFIX>_ACCOUNTS_MOD
<VIEW_PREFIX>_TRANSACTION_MOD
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MOD

O script também cria ou configura o módulo ORDS, as rotas, o alias do esquema, a função, o privilégio, o cliente OAuth e a associação cliente-função usando os valores configurados.

Exibir Catálogo e Lógica de Consulta

As views a seguir são views Oracle comuns no esquema selecionado; elas não modificam as tabelas do extrator.

Exibir Origem principal Finalidade/Lógica
<VIEW_PREFIX>_ACCOUNTS_V _more, _store_state Cria o diretório da conta atual com base nas chamadas createAccount e no estado da conta/token. Ele resolve a identidade da conta, do usuário e da organização, saldos, saldos de retenção, status, limites diários, metadados de token e metadados de transação de criação.
<VIEW_PREFIX>_TRANSFER_EVENTS_V _more Normaliza os logs de recebimento de token em linhas de evento de transferência. Ele extrai metadados de remetente, receptor, quantidade, função, bloco/transação e contexto ~OBPRPCTX~.value.category opcional.
<VIEW_PREFIX>_HOLDS_V _store_hist, _more, _store_state Reconstrói registros de hortelã, queimadura e retenção de transferência. Ele extrai o ID da operação/detenção, contas, notário, valor, expiração, token, categoria, descrição e o status do ciclo de vida mais recente. Ele também fornece linhas de fallback quando uma linha de estado atual não é resolvida.
<VIEW_PREFIX>_ACTIVE_ROLES_V _more Aplica o histórico de adição/remoção de função e retorna a atribuição de função ativa mais recente por conta e função.
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V Os pontos de vista operacionais anteriores Produz linhas de histórico de transações voltadas para a conta, incluindo ambos os lados das transferências e resultados normalizados do ciclo de vida de mint/burn/hold. Ele enriquece as identidades de/para da exibição _ACCOUNTS_V.
<VIEW_PREFIX>_ACCOUNT_HISTORY_V _more, _ACCOUNTS_V Produz o histórico de configuração da conta a partir de alterações de contrato de conta, incluindo revisões de limite diário, carimbos de data/hora, números de bloco e IDs de transação.
<VIEW_PREFIX>_ACCOUNTS_MOD (análise opcional) _ACCOUNTS_V Expõe os metadados da conta na forma de conta compatível com análise.
<VIEW_PREFIX>_TRANSACTION_MOD (análise opcional) _TRANSFER_EVENTS_V, _HOLDS_V, _store_hist Expõe transações comerciais normalizadas, incluindo transferência, hortelã, queima, solicitação, retenção, liberação e saldos resultantes, quando disponíveis.
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MOD (análise opcional) _TRANSACTION_MOD, _ACCOUNTS_V Adiciona o contexto da organização de origem e destino aos registros de transação de análise.

Rotas ORDS

Todas as rotas são rotas GET em <BASE_PATH>/ e exigem um token de portador OAuth. ORDS retorna um envelope de coleta; um array items vazio com HTTP 200 significa que a solicitação era válida, mas não tinha registros indexados correspondentes.

Rota Uso e comportamento de resposta Entradas Obrigatórias Entradas Opcionais e Comportamento Padrão
getCBDCTransactionById Retorna um registro detalhado de transação do razão normalizado. token_id identifica o token WCBDC; transaction_id é o hash/identificador de transação Besu a ser recuperado. Nenhum. Nenhuma transação correspondente retorna uma cobrança vazia.
getCBDCAccountTransactionHistoryWithFilters Retorna o histórico da conta identificada por sua identidade comercial. token_id identifica o token; org_id identifica a organização; user_id identifica o usuário da conta. startTime e endTime restringem o intervalo de tempo; omitido significa que não há limite de tempo inferior/superior. bookmark é o deslocamento baseado em zero; omitido significa 0. pageSize é o número de linhas solicitadas; omitido usa o padrão do handler.
getAllCBDCAccountTransactionHistoryWithFilters Retorna o histórico de transações da conta em todo o token. token_id identifica o token. startTime, endTime, bookmark e pageSize se comportam como para a rota de histórico específica da conta.
getCBDCAccountStatusHistory Retorna linhas indexadas do histórico de status para uma conta comercial. As opções token_id, org_id e user_id identificam a conta. Nenhum. Nenhuma conta/histórico correspondente retorna uma coleção vazia.
getApproverActionHistory Retorna decisões de mint/burn e ações finais de retenção de transferência. executeHold é executado; releaseHold é rejeitado. token_id limita os resultados ao token. caller_account_id é o endereço da wallet do gerente/aprovador. Omita-o para retornar ações de todos os atores; forneça-o para retornar apenas as ações dessa carteira. É um filtro de escopo de dados, não de autorização.
getTokenHistory Retorna o histórico em nível de token e informações relacionadas ao suprimento. token_id identifica o token. Nenhum.
getCBDCAccountsByRole Retorna contas associadas a uma função. role é o nome da atribuição a ser correspondido. Nenhum; o resultado não é filtrado por token por esta rota.
getUsersByRole Retorna atribuições de função de usuário/conta para uma função. role é o nome da atribuição a ser correspondido. Nenhum.
getOrgAccountsByRole Retorna contas em uma organização que têm uma função org_id identifica a organização; role é o nome da função. Nenhum.
getAllCBDCAccounts Retorna todas as contas indexadas para um token. token_id identifica o token. Nenhum.
getAllActiveCBDCAccounts Retorna contas indexadas cujo status atual é ativo. token_id identifica o token. Nenhum.
getAllSuspendedCBDCAccounts Retorna contas indexadas cujo status atual é suspenso. token_id identifica o token. Nenhum.
getAllOrgAccounts Retorna todas as contas indexadas em uma organização. org_id identifica a organização. Nenhum; o resultado não é filtrado por token por esta rota.
getPendingCBDCIssuance Retorna apenas operações de retenção de transferência pendentes atuais; operações de terminal, executadas, rejeitadas e liberadas são excluídas. token_id identifica o token. caller_account_id é a wallet do notário/gerente. Omita-o para a fila pendente completa; forneça-o para retornar somente retenções atribuídas a essa wallet.
getPendingCBDCRequest Retorna somente solicitações de mint/burn pendentes atuais. token_id identifica o token; request_type seleciona o tipo de solicitação suportado, como mint ou burn. Nenhum. As solicitações aprovadas ou rejeitadas são excluídas.
getPendingRequest Rota de compatibilidade para o mesmo caso de uso de solicitação pendente. token_id e request_type têm o mesmo significado que getPendingCBDCRequest Nenhum.
getCBDCAccountsByUser Retorna registros de conta para uma combinação de organização/usuário/token. token_id, org_id e user_id identificam o proprietário e o token da conta. Nenhum.
getCBDCAccountHistory Retorna a configuração da conta/revisões de histórico. account_address é o endereço da conta/carteira de blockchain. offset é o deslocamento de linha baseado em zero; omita para a primeira página. limit é a contagem máxima de linhas; omita para usar o padrão do handler SQL.
getCBDCAccountStatus Retorna o status atual da conta indexada. As opções token_id, org_id e user_id identificam a conta. Nenhum.
getRolesByAccount Retorna funções para uma conta resolvida. token_id é sempre obrigatório. Forneça account_address (a conta de blockchain/endereço de carteira) ou a pesquisa de negócios combinada org_id e user_id. Se account_address for fornecido, ele será o filtro de conta direta; caso contrário, a rota usará org_id e user_id. Se nenhuma pesquisa resolver uma conta, a resposta estará vazia.
getAllRegisteredOrgs Retorna organizações representadas por contas indexadas para um token. token_id identifica o token. Nenhum.
getCBDCMetadata Retorna metadados de token imutável indexados. token_id identifica o token. Nenhum.
getCBDCRetiredQuantity Retorna informações de quantidade baixada/gravada para um token. token_id identifica o token. Nenhum.

Paginação e carimbos de data/hora: Para as duas rotas históricas que suportam os parâmetros bookmark e pageSize, o parâmetro bookmark é um deslocamento de linha baseado em zero e o parâmetro pageSize é um caso de camelo. Omita qualquer um dos valores para usar o padrão do processador. Os parâmetros startTime e endTime, quando fornecidos, usam texto de timestamp ISO-8601 no formato YYYY-MM-DDTHH:MI:SS+/-HH:MI.

Inventário de ponto final: O inventário de rota exato pertence à versão de script empacotada para a implantação. Após a execução, use o catálogo ORDS OpenAPI ou a saída de ponto final gerada como a lista autorizada para o aplicativo cliente.

Solucionando Problemas

Mensagem ou Condição Resolução
NJS-516: no configuration directory set Um alias TNS foi usado sem um diretório de wallet/configuração acessível. Extraia a wallet e configure o cliente Oracle para que o arquivo tnsnames.ora esteja disponível.
NJS-511 ou ORA-12506 Problema de configuração de listener, ponto final, nome do serviço, lista de permissões de rede ou wallet. Valide a conexão do Oracle fora do script com o DBA.
A solicitação de token OAuth retorna 404 Verifique o alias exato em /ords/<ALIAS_NAME>/oauth/token. O alias não é necessariamente o nome de usuário Oracle.
O ponto final retorna 401 Obtenha um novo token e verifique se o cliente OAuth tem a atribuição/privilégio associado ao caminho base do módulo configurado.
O ponto final retorna 404 Verifique o host, alias, caminho base, nome da rota e se o módulo foi publicado.
ORDS-25001 O ponto final atingiu o ORDS, mas seu SQL falhou. Verifique o prefixo da tabela, os endereços do contrato, a forma de dados de origem e os parâmetros de solicitação necessários.
ORA-20049: Cannot alter the URL mapping while the schema is enabled O ALIAS_NAME escolhido está em conflito com um mapeamento de esquema ativado. Reutilize o alias existente do esquema ou peça ao administrador do ORDS para concluir o procedimento de desativação/remapeamento/ativação aprovado antes de executar o script novamente.
As views não contêm linhas Confirme se o perfil de histórico avançado correto foi selecionado durante a criação da instância, se o prefixo da tabela é exato, se os endereços do contrato correspondem aos proxies implantados e se as transações foram indexadas.
Os objetos entram em conflito com outra implantação Use um VIEW_PREFIX, nome do módulo, caminho base, atribuição, privilégio, nome do cliente OAuth e alias distintos.