Ir para o conteúdo

Perguntas frequentes

O Serpro ou algum outro participante da rede tem acesso ao meu peer?

Não, o peer do participante não é acessado por outros nós da rede blockchain, e o participante jamais deve expor seu peer para a Internet, devendo o mesmo ser protegido por meio de firewalls, IPS, etc, sob pena de responsabilização do gestor responsável. O acesso ao peer deve ser feito apenas pelos serviços/aplicações que fazem uso de suas bases ou APIs.

Quem dará manutenção no meu peer?

Uma vez que o Serpro não possui acesso ao peer, o participante é responsável pela administração e segurança do próprio peer. Eventualmente o Serpro poderá encaminhar por e-mail procedimentos de atualização que deverão ser executados pelo participante.

Consulte o modelo de responsabilidade compartilhada do b-Cadastros.

Posso hospedar o meu peer em uma nuvem pública, como AWS, Azure, GCP e OCI?

Sim, desde que sejam seguidos todos os pré-requisitos, com atenção especial aos de segurança. O peer deve ser hospedado em uma rede ou sub-rede privada para que não seja acessível diretamente pela Internet. O acesso ao peer deve servir apenas à administração do sistema (via VPN, console remota ou com uso de bastion host) e às aplicações que se integram a ele para o consumo dos dados. Usuários não devem poder fazer consultas diretamente no peer.

Além das recomendações acima, a LGPD deve ser observada quanto às restrições de hospedagem do peer em regiões fora do território nacional, visto que o mesmo guarda dados pessoais.

Posso utilizar outro sistema operacional no peer?

Não. O sistema operacional do peer deve seguir exatamente a definição que consta na seção de pré-requisitos, pois somente assim estará garantido o suporte do Serpro quanto a possíveis problemas com o serviço. Além disso, o Serpro eventualmente lança scripts de atualizações da solução que são desenvolvidos e testados apenas nos sistemas operacionais homologados, conforme consta na seção de pré-requisitos.

Posso utilizar no peer o mesmo certificado digital que já utilizo com o Infoconv?

Apenas se o certificado em questão atender a todos os pré-requisitos do certificado digital do peer. Há casos em que um certificado válido para o Infoconv não atende a todos os requisitos e, portanto, não pode ser utilizado no peer. Se tiver dúvidas, consulte a AC emissora sobre os requisitos listados na documentação.

É necessário fazer backup do peer?

Sim, é uma boa prática para que seja possível reestabelecer o peer em caso de problemas. Na documentação de implantação podem ser encontrados detalhes de como realizar backup e restore.

Como acesso as bases?

As bases estarão disponíveis em um banco CouchDB local, no próprio peer do participante, podendo ser acessado por meio de uma API REST.

Quais são as credenciais de acesso ao CouchDB do meu peer?

As credenciais de acesso estão no arquivo /etc/hyperledger/fabric/peer/credencial_couchdb do peer, no formato usuário:senha.

Posso fazer consultas diretamento no CouchDB do meu peer?

Sim, porém, a configuração recomendada para o peer foi dimensionada apenas para recebimento dos dados através da rede blockchain. Para consultas frequentes e mais elaboradas sugerimos que seja feita uma réplica da base para outra instância de CouchDB, onde podem ser criados índices e views que facilitam o consumo dos dados. A página Replicação CouchDB oferece mais explicações sobre como criar uma réplica CouchDB.

Posso replicar o CouchDB do peer? Como?

Sim, pode. A página Replicação CouchDB oferece mais explicações sobre como criar uma réplica CouchDB.

Gostaria de ter as bases em um banco relacional, é possivel?

Sim, é possível. Por favor observe que o SERPRO não oferece esse serviço nem presta suporte para essas operações. Existem ferramentas terceiras que fazem a sincronização entre um banco CouchDB e bancos relacionais, como o couchwarehouse, por exemplo.

Esse método opera melhor com bases que possuem um único tipo de objeto, como CPF e CAEPF. Para bases que possuem mais de um tipo de objeto, como a base do CNPJ, esse processo requer a aplicação de transformações para funcionar corretamente. O SERPRO não oferece essas transformações e elas precisam ser criadas pelo cliente, a partir do estudo do projeto. A página Transforming documents explica esse recurso.

Após a instalação do peer b-Cadastros configuramos um couchwarehouse, mas surgiu o erro abaixo. O que fazer?

Error: ER_PARSE_ERROR: You have in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '~version TEXT, id VARCHAR(255) PRIMARY KEY, rev TEXT)' at line 1

Erros assim podem ser corrigidos com o emprego do recurso transform do couchwarehouse. A página Transforming documents explica esse recurso.

Para resolver o erro em questão, sobre o campo ~version, primeiro crie um documento com o nome transform.js contendo as seguintes linhas:

const f = (doc) => {
    // Define novo atributo com o conteúdo de ~version
    doc.version = doc["~version"]
    // Exclui o atributo antigo
    delete doc["~version"]
    // Retorna o documento com todas as transformações aplicadas
    return doc
    }
// export the function
module.exports = f

Depois coloque o parâmetro --transform './transform.js' na linha de comando do couchwarehouse. Observe que o arquivo transform.js precisa estar no mesmo diretório em que for executado o comando, ou então o path deve ser referenciado no parâmetro. Por exemplo,

couchwarehouse --url https://bcadastros:xyzw12345@192.168.X.X:6984 --db chcaepf_bcadastros --databaseType postgresql --transform './transform.js'

No b-Cadastros, existem campos descaracterizados como nos Dados Abertos?

Não. Por ser um ambiente permissionado, todos os dados dos campos disponíveis possuem a informação completa.

Qual o espaço em disco necessário por base?

Prevendo o espaço total ocupado por cada base, tanto para o CouchDB quanto para o Ledger, e considerando um crescimento vegetativo, como ordem de grandeza podem ser considerados os valores abaixo:

Base Tamanho
CPF 600 GB
CNPJ 300 GB
SN 50 GB
CAEPF 30 GB
CNO 20 GB
Total 1 TB
A que horas as bases são atualizadas?

Todas as bases passam por um processo de detecção de diferenças (delta) e atualização a partir da seguinte hora de cada dia:

Base Horário
CNO 0h
CPF 1h
CAEPF 2h
CNPJ 3h
SN 4h

A quantidade de registros e a duração da atualização diária de cada base varia constantemente. Normalmente o processo de atualização de cada base dura poucos segundos, mas eventualmente pode demorar alguns minutos e até horas, a depender da quantidade de registros que precisam ser atualizados. Caso um peer tenha ficado muitos dias desconectado, sem possibilidade de realizar a sincronização diária das bases, pode levar um tempo ainda maior para sincronizar todos os registros. O estado da sincronização das bases pode ser acompanhado na página de monitoração.

É possível monitorar meu peer?

Sim, é uma boa prática e recomendamos que o seu peer seja monitorado. Disponibilizamos o endpoint "https://endereco-do-peer:6984/monitoracao" que já fornece informações básicas sobre o status do seu peer e a sincronização da blockchain. A documentação de implantação também detalha outras formas de monitorar o seu peer.

Perdi meu peer e não tenho backup, como proceder?

Neste caso, deve-se contratar e pagar uma nova implantação com o Serpro. Como todas as configurações e credenciais de acesso foram perdidas, será necessário gerar todo o material e instalar o peer novamente.

Os campos de telefone incluem código de área ou de discagem internacional?

Todos os telefones constam nas bases com o DDI. Se o telefone é nacional, o campo traz o DDI do Brasil, com a máscara +55 (99) 99999-9999. Telefones celulares têm cinco dígitos na primeira parte, enquanto telefones fixos nacionais vêm com apenas quatro posições. Já se o número de telefones é internacional, então ele vem em um único bloco, precedido pelo DDI, com a máscara +99 999999999.

Quero consultar apenas os documentos que sofreram alteração na última carga, para poder construir um mecanismo de CDC (Change Data Capture). Como detectar que documentos foram atualizados?

O CouchDB possui uma API específica para consultar as mudanças de documentos: https://docs.couchdb.org/en/3.2.0/api/database/changes.html . Além disso, a página https://www.oreilly.com/library/view/couchdb-the-definitive/9780596158156/ch20.html explica o básico de monitoramento de mudanças.

Nos dados do CNPJ, o item lista de períodos pode ter diversas datas de início e fim para Simples e MEI?

Sim.

Nos dados do CNPJ, cada novo registro traz a lista completa atualizada, ou apenas os novos registros?

O registro é atualizado por completo e sempre terá a lista inteira.

Ainda tem dúvidas? Entre em contato com o Serpro