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:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Use o sistema Charmed OpenSearch para processar estas linhas JSON:
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"
}
}
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
Próximo →
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