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_VSe 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_MODO 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.
|