Configurar o Oracle Blockchain Platform para o Aplicativo de Amostra de CBDC Atacado
Depois de criar todas as instâncias necessárias do Oracle Blockchain Platform e seus produtos de pré-requisitos, você precisará configurar seus usuários e atribuições, adicionar qualquer organização participante à organização fundadora e ativar o banco de dados de histórico avançado.
Configurar Grupos do IDCS para Instâncias do Oracle Blockchain Platform
Para obter informações adicionais sobre as atribuições incorporadas do Oracle Blockchain Platform e como designar usuários a elas, consulte Configurar Usuários e Atribuições de Aplicativo
Para obter informações adicionais sobre as funções de aplicativo de amostra de CBDC de atacado, consulte Workflow de Aplicativo CBDC de Atacado.
No Oracle Blockchain Platform, as seguintes atribuições de atribuição de aplicativo devem ser implementadas:
- Grupos de Proprietários do Sistema: Designe o grupo IDCS de proprietário de sistema combinado único (contendo todas as personas do proprietário do sistema) à atribuição de aplicativo
REST_CLIENT
da instância do proprietário do sistema Oracle Blockchain Platform Digital Assets Edition. Não atribua grupos individuais específicos de persona diretamente à instância do Oracle Blockchain Platform Digital Assets Edition. - Grupos de Organizações Participantes: Para cada organização participante, atribua o único grupo IDCS de organização participante combinada (contendo todos os grupos específicos de persona para essa organização) à função de aplicativo
REST_CLIENT
da respectiva instância do Oracle Blockchain Platform Digital Assets Edition. - Atribuições Administrativas: Designe os grupos administrativos relevantes, como
System_Admins
eOrg1_Admins
, à atribuição de aplicativoADMIN
de sua respectiva instância do Oracle Blockchain Platform Digital Assets Edition.
Essa configuração garante que os grupos Proprietário do Sistema e Organização Participante tenham o acesso necessário por meio da atribuição REST_CLIENT
, enquanto os privilégios administrativos são gerenciados adequadamente por meio da atribuição ADMIN
.
Siga estas etapas para designar os grupos a atribuições de aplicativo.
- Acesse a sua conta do Oracle Cloud Infrastructure.
- Na Console, clique no menu Navegação no canto superior esquerdo.
- Em Identidade, selecione Domínios.
- Na página Domínios, clique em Oracle Identity Cloud Service.
- No menu de navegação do Oracle Identity Cloud Service, selecione Oracle Cloud Services. Localize a instância do Oracle Blockchain Platform para a qual você deseja designar atribuições de grupo. Abra a página Detalhes da instância.
- Vá para a página Atribuições de Aplicativo para exibir as atribuições de aplicativo do Oracle Identity Cloud Service listadas no navegador Recursos.
- Selecione a atribuição que deseja designar e expanda a atribuição. Clique no menu Mais da atribuição e selecione Designar Grupos.
- Na caixa de diálogo Atribuir Grupos, selecione os grupos que você deseja atribuir à função e clique em Atribuir.
Extraia ClientId
e ClientSecret
O Oracle Blockchain Platform ClientID
e ClientSecret
serão usados pelo Visual Builder. Você precisará atualizar esses parâmetros no Visual Builder posteriormente, conforme descrito em Configurar Backends do Visual Builder.
Execute as seguintes etapas para recuperar o ID do cliente e o segredo do cliente de uma instância do Oracle Blockchain Platform:
- Acesse a sua conta do Oracle Cloud Infrastructure. Certifique-se de ter privilégios administrativos suficientes para gerenciar definições OAuth.
- Na Console, clique no menu Navegação no canto superior esquerdo.
- Em Identidade, selecione Domínios.
- Na página Domínios, clique em Oracle Identity Cloud Service.
- No menu de navegação do Oracle Identity Cloud Service, selecione Oracle Cloud Services. Localize a instância do Oracle Blockchain Platform para a qual você deseja extrair o ID e o segredo do cliente. Abra a página Detalhes da instância.
- Quando você abrir a página de detalhes da instância, a guia padrão exibida será a guia Configuração OAuth. Esta guia contém informações essenciais sobre as definições OAuth para sua instância do Oracle Blockchain Platform.
Você encontrará campos rotulados ID do Cliente e Segredo do Cliente na seção Informações Gerais. Essas credenciais são usadas para autenticar solicitações de API para o Oracle Blockchain Platform.
Configuração de Várias Organizações
Se você estiver criando uma rede complexa do Oracle Blockchain Platform com várias organizações, adicione participantes ao fundador. Uma visão geral desse processo é fornecida no Guia Admin do Oracle Blockchain Platform: Adicionar Organizações Participantes do OBCS à Rede.
Configurar o Banco de Dados de Histórico Avançado para o Oracle Blockchain Platform
Para obter informações adicionais sobre como configurar e usar o banco de dados de histórico avançado, consulte Criar o Banco de Dados de Histórico Avançado.
Antes de concluir essas etapas, você deve ter criado uma instância do Autonomous Database conforme descrito em Provisionar o Autonomous Database para ativar o banco de dados de histórico avançado do Oracle Blockchain Platform.
No modo genérico, configure a instância única do Oracle Autonomous Database para a instância do proprietário do sistema do Oracle Blockchain Platform. No modo confidencial, você deve configurar cada organização participante e o proprietário do sistema com instâncias separadas do Oracle Autonomous Database.
- Abra a console do Oracle Blockchain Platform para a instância de rede.
- Clique no menu Mais Ações no canto superior direito e selecione Configurar Histórico Rico.
- Especifique uma conexão de banco de dados Oracle fornecendo a string de conexão e as credenciais para acessar e gravar no banco de dados Oracle. Observe que as credenciais fornecidas são as credenciais do banco de dados e o Oracle Blockchain Platform não as gerencia.
- Clique em Salvar para configurar o banco de dados de histórico avançado.
Criar Inscrições
Crie manualmente as inscrições para os usuários nos grupos System_Admins
e Org_Admins
.
As inscrições no proxy REST do Oracle Blockchain Platform fornecem um mecanismo para os usuários interagirem com o blockchain sem exigir um certificado de inscrição, simplificando as chamadas de API mapeando identidades de aplicativos para membros do blockchain. Para iniciar qualquer chamada ao chaincode, as inscrições devem ser estabelecidas no Oracle Blockchain Platform.
O aplicativo CBDC de atacado gerencia a criação de inscrições para usuários durante a configuração da conta; no entanto, quando um usuário administrador do sistema faz login pela primeira vez, não existe inscrição. Consequentemente, se esse usuário tentar criar uma conta, a chamada RestProxy
falhará. Portanto, é essencial criar uma inscrição para o grupo System_Admins
.
Ao definir contas, as inscrições são criadas para as respectivas organizações. Por exemplo, quando as contas do proprietário do sistema forem estabelecidas, as inscrições correspondentes serão geradas. No entanto, se alguma conta da organização participante for criada por meio da página do administrador do sistema, as inscrições não serão criadas automaticamente para essas organizações. Neste workflow de CBDC de atacado, você deve configurar contas de administrador da organização na página de administrador do sistema. Portanto, é necessário criar manualmente matrículas para o grupo de administradores da organização, pois essas matrículas não serão geradas automaticamente devido à estrutura organizacional distinta entre o banco central e as instituições financeiras.
Para obter informações abrangentes sobre como criar as inscrições, consulte Adicionar Inscrições a um Proxy REST.
Extrair RestproxyId
O valor RestproxyId
será usado pelo Visual Builder. Você precisará atualizar isso no Visual Builder posteriormente, conforme descrito em Configurar Backends do Visual Builder.
Para recuperar o RestProxyId
de uma instância do Oracle Blockchain Platform, você deve chamar as APIs da console do Oracle Blockchain Platform usando uma conta de usuário administrativa. A autenticação pode ser feita usando a autenticação básica ou o OAuth 2.0.
Método de Autenticação
Para o OAuth 2.0, consulte a documentação em OAuth 2.0 Access Token Based Authentication para implementar o fluxo de autenticação necessário.
Ponto Final da API para Extrair RestProxyId
Use a API da console do Oracle Blockchain Platform para obter o RestProxyId
enviando uma solicitação ao seguinte ponto final:
GET <oracleblockchainplatform_url>/console/admin/api/v2/nodes
Essa chamada de API retornará uma resposta contendo detalhes sobre os proxies REST configurados em sua instância.
Para obter mais detalhes sobre a API da console, consulte a seguinte documentação: Obter Lista de Nós.
Detalhes de Resposta
Na resposta, localize a seção rotulada RESTProxies
, onde você encontrará o RestProxyId
correspondente. A estrutura da resposta incluirá vários atributos associados a cada nó de proxy REST.
"RESTProxies": [
{
"status": "up",
"extInfo": [],
"displayName": "restproxy",
"RESTProxyId": "48021a2c-e62b-40cd-b7ca-71dda883521d-restproxy",
"url": "https://bank3-oabcs1-hyd.blockchain.ocp.oraclecloud.com:7443/restproxy",
"mspId": "Bank3"
}
]
Implantar o Chaincode para o Aplicativo de Amostra de CBDC por Atacado
Agora você pode criar um canal e implantar o chaincode do aplicativo de amostra nele.
Criar Views de Banco de Dados de Histórico Rico
Depois de criar o banco de dados de histórico avançado para sua instância do Oracle Blockchain Platform, você poderá executar o script de criação de view do banco de dados para criar as views no banco de dados de histórico avançado e gerar o ponto final do ORDS.
clientId
, clientSecret
e token do portador, para autenticar e acessar o ponto final.
- Faça download do script de criação da view do banco de dados.
- Abra a console do Oracle Blockchain Platform.
- Vá para a página Ativos Digitais.
- Na barra lateral esquerda, vá para o aplicativo Wholesale CBDC.
- Faça download do script na área Oracle Database View Definitions for WholesaleCBDC .
- Após fazer download do script, consulte Oracle Database View Definitions for Wholesale CBDC para obter detalhes sobre como executá-lo.
- O script retorna o ponto final do ORDS, o ID do cliente, o segredo do cliente e o token do portador.
- No modo genérico, todas as organizações usam uma única configuração de ponto final do ORDS. O script retorna pontos finais para contas em três escopos: contas individuais, contas no nível da organização e todas as contas.
{ ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>', { "ORDSEndpoint": { "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN", "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts", "AllAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNAllAccounts" }, clientId: '<clientId>', clientSecret: '<clientSecret>', bearerToken: { access_token: '<BearerToken>', token_type: 'bearer', expires_in: 3600 } }
- No modo confidencial, cada organização, incluindo o proprietário do sistema, tem sua própria configuração do ORDS. Os pontos finais do proprietário do sistema incluem acesso a todas as contas. As organizações participantes têm acesso somente às suas próprias contas no nível da organização.
Proprietário do sistema:
{ ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>', { "ORDSEndpoint": { "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN", "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts", "AllAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNAllAccounts" }, clientId: '<clientId>', clientSecret: '<clientSecret>', bearerToken: { access_token: '<BearerToken>', token_type: 'bearer', expires_in: 3600 } }
Organização participante:{ ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>', { "ORDSEndpoint": { "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN", "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts" }, clientId: '<clientId>', clientSecret: '<clientSecret>', bearerToken: { access_token: '<BearerToken>', token_type: 'bearer', expires_in: 3600 } }
- No modo genérico, todas as organizações usam uma única configuração de ponto final do ORDS. O script retorna pontos finais para contas em três escopos: contas individuais, contas no nível da organização e todas as contas.
ORDS_REST_BASE_URL/ords/ALIAS_NAME/BASE_PATH/PATTERN
- ORDS_REST_BASE_URL: O URL base do serviço ORDS.
- ALIAS_NAME: O alias do banco de dados ou esquema configurado no ORDS.
- BASE_PATH: O caminho base dos serviços RESTful.
- PATTERN: O padrão de ponto final específico para o serviço RESTful.
ORDS_REST_BASE_URL/ords/ALIAS_NAME/oauth/token
clientId
clientSecret
- Ponto final ORDS (apenas ponto final
Accounts
; pontos finaisOrgAccounts
eAllAccounts
são derivados internamente) - URL base OAuth:
ORDS_REST_BASE_URL/ords/<userName|aliasName>