큐빅 bxid 아카이벌 서비스
고유한 bxid 해시는 확인된 큐빅 거래를 나타내며, bxid로 인덱싱된 API를 통해 지갑 및 거래소와 같은 기존 암호화 시스템에 통합을 단순화합니다.
Qsilver · 2024년 1월 6일
소개
큐빅의 독특한 특성은 기존 암호화 인프라와 직접 인터페이스하는 데 어려움을 줍니다. 이 제안서는 확인된 즉시 최종적인 가치 이전의 증명을 나타내는 고유한 해시인 bxid를 정의합니다. bxid로 인덱싱된 API는 기존의 확인된 txid를 기대하는 시스템에 큐빅을 통합하는 것을 단순화할 것입니다.
bxid 정의
bxid (Balance Transfer ID)는 틱에 포함되기 전에 로컬에서 계산할 수 있어, 지갑이 사용자에게 bxid를 표시하고 API 서비스를 쿼리할 수 있게 합니다. 지정된 틱 이후에 bxid가 없으면 거래 실패를 의미합니다.
일반적인 QU 전송의 경우, bxid는 로그 파일 항목과 일치하는 바이트 형식으로 epoch + tick + srcpubkey + destpubkey + amount의 K12 해시로 정의됩니다. 다른 거래 유형의 경우, bxid는 날짜 필드를 건너뛰고 로그 파일 항목을 직접 해시하여 동일한 규칙을 따릅니다.
거래 없는 SC 잔액 변경 처리는 잔액 변경당 고유한 bxid가 필요합니다. 금액이 0인 SC 잔액 변경을 계산하여 해당 bxid에 대한 쿼리는 틱 내에서 해당 목적지의 모든 잔액 변경의 합계를 반환합니다.
bxid 사용
1. bxid 계산
./bxid calcbxid epoch tick source dest amount
2. bxid 데이터 가져오기
curl 93.190.139.223:9200/txid/_doc/(txid)
curl 93.190.139.223:9200/bxid/_doc/(bxid)
3. bxid 정보 유효성 검사
- bxid가 존재하면, 포함된 틱에서 일치하는 txid를 찾고 검증할 수 있습니다.
- txid가 포함되어 있지만 bxid가 없는 경우, 현재 잔액을 얻기 위해 엔티티 정보를 검증합니다. 특정 주소에 대해 epoch에 대한 모든 bxid를 합산하고, 소스 또는 목적지에 따라 차감한 다음, epoch 스펙트럼 파일의 시작 부분에 순 변화를 더합니다. 암호화적으로 검증된 엔티티 데이터를 사용하여 잔액과 일치하면, bxid가 확인됩니다.
구현
1. bxid 아카이벌 서비스 설정
저장소를 복제하고 빌드합니다:
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. JSON 출력 생성
로그 파일 항목에서의 JSON 예:
{ "index": { "_index": "bxid", "_id": "397e947847ada93de80907d88a835419fb532b3ca1fd68b3c95ebab11cd24190" } }
{
"utime": "1707059413",
"epoch": "90",
"tick": "11867469",
"type": "1",
"src": "LZLDOEIBQWIUGGMZGOISLOAACDGAFVAMAYXSSJMLQBHSHWDBPMSDFTGAYRMN",
"dest": "QHQPMJVNGZJGZDSQREFXHHAZFYPBIYDOTFAOTTWGYCWGTIRNGBVMKBGGNDDA",
"amount": "1521139"
}
Charmed OpenSearch 시스템을 사용하여 이러한 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. 로그 처리 루프 설정
아카이벌 서비스 및 REST API를 유지하기 위해 로그 처리 루프를 만듭니다:
while true; do
./bxid processlog
done
결론
bxid 아카이벌 서비스를 구현하면, 확인된 즉시 최종적인 가치 이전의 증명을 제공하여 큐빅을 기존 암호화 서비스에 통합하는 것을 단순화합니다. bxid 및 bxid 아카이벌 서비스를 활용하여 큐빅 거래를 기존 암호화 인프라에 매끄럽게 통합할 수 있습니다.
최신 업데이트를 위해 Valis Discord에 가입하고, X에서 팔로우하고, 우리 블로그를 북마크하세요.
다음 →