Um Guia Não Oficial para Integração de Serviços Qubic
Integrar o Qubic em serviços existentes através de nó completo, nó remoto, servidor de arquivo ou API, com controlo e complexidade variáveis.
Qsilver - 17 de fevereiro de 2024.
Introdução
A integração do Qubic nos serviços existentes pode ser feita de quatro maneiras principais, cada uma oferecendo diferentes níveis de controlo e complexidade:
- Executar um nó completo: Acesso direto aos dados em memória para operações.
- Executar um nó remoto: Consulta de nós completos públicos para obter os dados necessários para as operações.
- Executar um servidor de arquivo: Criar um arquivo local completo de todos os dados Qubic para as operações.
- Interface com o servidor Qubic API: Método mais simples, mas com menos controlo sobre a disponibilidade dos dados.
Quanto mais baixo for o número, maior será o trabalho envolvido, mas maior será o controlo sobre a disponibilidade dos dados. Independentemente do nível que escolher, é essencial compreender as diferenças importantes sobre o Qubic.
Diferenças importantes sobre o Qubic
Para serviços que lidam com valor monetário, as duas diferenças mais importantes do Qubic são:
- Mesmo que um txid esteja incluído num tick validado, pode não ter feito nada.
- O saldo do endereço pode ser alterado sem que uma transação específica seja transferida de A para B, por exemplo, através de uma operação de contrato inteligente.
Devido a estas diferenças, o processamento Qubic deve basear-se nas alterações do saldo do endereço, garantindo que as alterações efectuadas por contratos inteligentes não confundem a lógica.
Tratamento de depósitos
Para simplificar o tratamento dos depósitos, recomenda-se a utilização de transacções normais. Os depósitos efectuados com contratos inteligentes podem ser ignorados ou tratados manualmente (com um custo adicional para cobrir os custos).
- Iterar por todas as transacções em cada tick e identificar os endereços de destino pertencentes aos clientes.
- Assinalar estes endereços para verificação do saldo.
- Obter informações sobre a entidade dos endereços assinalados para ver quais os que receberam novos fundos.
- Atualizar a informação atual da entidade para os endereços que receberam novos fundos.
As alterações de saldo podem não corresponder ao montante da transação devido a falhas de txid ou depósitos de contratos inteligentes. Ignorar os depósitos SC garante que o utilizador é creditado pelos depósitos SC mesmo que o txid tenha falhado.
Processamento de depósitos com base no saldo
Este método pode exigir mais largura de banda, mas é viável para serviços de médio porte, pesquisando centenas de milhares de endereços na rede através de um nó remoto. Garante que todos os métodos de depósito são devidamente creditados, melhorando a experiência do utilizador.
- Manter os últimos dados de entidade validados para cada endereço de utilizador.
- Num ciclo de sondagem, comparar os dados mais recentes da entidade com os dados validados da entidade.
- Validar os dados mais recentes da entidade utilizando a árvore de merkle.
- Se forem validados, atualizar os dados da entidade validada e gerar um evento de depósito com base na diferença no total de depósitos.
Processamento de retiradas
Pequenos volumes
- Obter dados de entidade validados para o endereço de envio.
- Colocar em fila uma transação de retirada com base no destino e no valor.
- Gerar os dados de entidade esperados para outgoingAmount e o outgoingAmount atual + montante da retirada.
- Processar a fila criando e transmitindo a transação de levantamento.
- Após um determinado período de tempo, verificar se os dados da entidade outgoingAmount foram alterados para o montante esperado.
- Em caso afirmativo, marca a retirada como concluída, remove-a da fila e actualiza os dados validados da entidade. Caso contrário, tente novamente o processo.
Volumes médios
- Use o comando SENDMANY SC para agrupar até 25 retiradas em uma única transação.
- Aplique a mesma lógica que para pequenos volumes, usando SENDMANY em vez de simples transações de envio.
- Um único endereço que utilize SENDMANY pode efetuar cerca de 100 levantamentos por minuto.
Grandes volumes
- Use o aplicativo sendmany para enviar até 15.625 pagamentos, concluindo em cerca de 20 ticks (~8000 retiradas por minuto).
- O aplicativo sendmany usa o SENDMANY SC em um fanout de três níveis. Os pagamentos são especificados num ficheiro .csv, processados para calcular o montante total e enviados para um endereço especial.
- Quando os fundos chegam, são distribuídos em três gerações (25 x 25 x 25 pagamentos).
Repositório sendmany
Para obter detalhes sobre o programa sendmany, visite o repositório:
Repositório GitHub do sendmany
Conclusão
A integração do Qubic nos serviços existentes requer uma análise cuidadosa do tratamento dos dados, nomeadamente no que diz respeito às transacções monetárias. Ao escolher o método de integração adequado e ao compreender os aspectos únicos do Qubic, os serviços podem gerir eficazmente os depósitos e os levantamentos a várias escalas.
Leia a série "Não Oficial" de Qsilver
- Detalhes do Qubic Crypto
- Um Whitepaper Interino Não Oficial do Qubic
- Um Guia Não Oficial para Escrever Contratos Inteligentes Qubic
- Um Guia Não Oficial para Integração de Serviços Qubic
Para as últimas atualizações, junta-te ao Discord da Valis, segue-nos no X e adiciona o nosso blog aos marcadores.
Seguinte →
Nesta página
- Um Guia Não Oficial para Integração de Serviços Qubic
- Introdução
- Diferenças importantes sobre o Qubic
- Tratamento de depósitos
- Processamento de depósitos com base no saldo
- Processamento de retiradas
- Pequenos volumes
- Volumes médios
- Grandes volumes
- Repositório sendmany
- Conclusão
- Leia a série "Não Oficial" de Qsilver
Publicações relacionadas