Logo
  • Início
  • Blog
  • Contato
Help us build Valis
🇧🇷

Serviço de Arquivamento Qubic bxid

image

Serviço de Arquivamento Qubic bxid

Um hash bxid único representa transações Qubic confirmadas, simplificando a integração em sistemas cripto tradicionais, como carteiras e exchanges, por meio de uma API indexada por bxid.

Qsilver · 6 de janeiro de 2024.

Introdução

As características únicas do Qubic tornam desafiador interagir diretamente com a infraestrutura cripto existente. Esta proposta define um hash único, bxid, que representa uma prova de transferência de valor confirmada e instantaneamente final. Uma API indexada por bxid simplificaria a integração do Qubic em sistemas que esperam um txid tradicional confirmado.

Definindo bxid

O bxid (ID de Transferência de Saldo) pode ser calculado localmente antes da inclusão em um tick, permitindo que carteiras exibam o bxid para os usuários e consultem um serviço de API. Se o bxid estiver ausente após o tick especificado, isso indica uma falha na transação.

Para transferências QU normais, o bxid é definido pelo hash K12 de epoch + tick + srcpubkey + destpubkey + amount, em um formato de byte correspondente à entrada do arquivo de log. Para outros tipos de transação, o bxid segue a mesma convenção ao hashear a entrada do arquivo de log diretamente, pulando os campos de data.

O manuseio de mudanças de saldo SC sem transação exige um bxid único por mudança de saldo. Calculando mudanças de saldo SC com uma quantia de 0, a consulta por esse bxid retorna a soma de todas as mudanças de saldo para esse destino no tick.

Usando bxid

1. Calculando bxid

./bxid calcbxid epoch tick source dest amount

2. Buscando Dados de bxid

curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)

3. Validando Informações de bxid

  • Se o bxid existir, o txid correspondente pode ser encontrado no tick incluído e validado.
  • Se o txid estiver incluído, mas o bxid estiver ausente, valide as informações da entidade para obter o saldo atual. Some todos os bxid para o epoch para o endereço específico, subtraia com base na fonte ou destino e adicione a mudança líquida ao início do arquivo de espectro do epoch. Se corresponder ao saldo usando dados de entidade validados criptograficamente, o bxid é confirmado.

Implementação

1. Configurando o Serviço de Arquivamento bxid

Clone e construa o repositório:

git clone <https://github.com/Qsilver97/qubic-cli>
cd qubic-cli
mkdir build
cd build
cmake ..
make
g++ -I.. ../bxid.cpp ../connection.cpp -o bxid

2. Criando Saída JSON

Exemplo de JSON de uma entrada de arquivo de log:

Use o sistema Charmed OpenSearch para processar estas linhas JSON:

3. Configurando o Loop de Processamento de Logs

Crie um loop de processamento de logs para manter o serviço de arquivamento e a API REST:

while true; do
  ./bxid processlog
done

Conclusão

Implementar um serviço de arquivamento bxid simplifica a integração do Qubic em serviços cripto existentes, fornecendo uma prova de transferência de valor confirmada e instantaneamente final. Ao alavancar o bxid e o serviço de arquivamento bxid, as transações Qubic podem ser incorporadas de forma contínua na infraestrutura cripto tradicional.

Para obter as atualizações mais recentes, junte-se ao Discord do Valis, siga-nos no X e adicione nosso blog aos favoritos.

← Anterior

🇧🇷Teste da API do servidor bxid/txid

Próximo →

🇧🇷O árbitro não é um jacaré

Nesta página

  • Serviço de Arquivamento Qubic bxid
  • Introdução
  • Definindo bxid
  • Usando bxid
  • 1. Calculando bxid
  • 2. Buscando Dados de bxid
  • 3. Validando Informações de bxid
  • Implementação
  • 1. Configurando o Serviço de Arquivamento bxid
  • 2. Criando Saída JSON
  • 3. Configurando o Loop de Processamento de Logs
  • Conclusão

Postagens Relacionadas

Logo

Execution

|

Transparency

XRSSDiscordGitHub
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
  "utime": "1707059413",
  "epoch": "90",
  "tick": "11867469",
  "type": "1",
  "src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
  "dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
  "amount": "1521139"
}
curl --cacert demo-ca.pem -XGET https://<username>:<password>@<ipaddr>:9200/bxid/_doc/397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190
{
  "_index": "bxid",
  "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190",
  "_version": 2,
  "_seq_no": 32754,
  "_primary_term": 1,
  "found": true,
  "_source": {
    "utime": "1707059413",
    "epoch": "90",
    "tick": "11867469",
    "type": "1",
    "src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
    "dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
    "amount": "1521139"
  }
}