Logo
  • Home
  • Blog
  • Contact
Help us build Valis
🇨🇳

非官方 Qubic 服务集成指南

image

非官方 Qubic 服务集成指南

通过完整节点、远程节点、存档服务器或 API,将 Qubic 集成到现有服务中,具备不同的控制和复杂性。

Qsilver · 2024 年 2 月 17 日

介绍

将 Qubic 集成到现有服务中可以通过四种主要方式完成,每种方式提供不同级别的控制和复杂性:

  1. 运行完整节点:直接访问内存中的数据以进行操作。
  2. 运行远程节点:查询公共完整节点以获取操作所需的数据。
  3. 运行存档服务器:构建所有 Qubic 数据的本地完整存档以进行操作。
  4. 与 Qubic API 服务器接口:最简单的方法,但对数据可用性的控制较少。

数字越小,所需工作越多,但对数据可用性的控制越大。无论您选择哪个级别,了解 Qubic 的关键差异至关重要。

关于 Qubic 的重要差异

对于涉及货币价值的服务,Qubic 的两个最重要的差异是:

  1. 即使 txid 包含在验证的 tick 中,它可能也没有做任何事情。
  2. 地址余额可以在没有特定交易从 A 转移到 B 的情况下发生变化,例如通过智能合约操作。

由于这些差异,Qubic 处理应基于地址余额变化,确保智能合约的变化不会混淆逻辑。

存款处理

为了简化存款处理,建议使用普通交易。使用智能合约进行的存款可以被忽略或手动处理(需要额外费用以弥补成本)。

  1. 遍历每个 tick 中的所有交易,并识别属于客户的目标地址。
  2. 将这些地址标记为余额检查。
  3. 获取标记地址的实体信息,以查看哪些地址收到了新资金。
  4. 更新接收新资金的地址的当前实体信息。

由于 txid 失败或智能合约存款,余额变化可能与交易金额不匹配。忽略 SC 存款可确保用户即使在 txid 失败时也能获得 SC 存款的信用。

基于余额的存款处理

这种方法可能需要更多的带宽,但对于中档服务来说,通过远程节点在网络上轮询数十万个地址是可行的。它确保所有存款方法都被正确记入,增强用户体验。

  1. 为每个用户地址维护最新的验证实体数据。
  2. 在轮询循环中,将最新的实体数据与验证的实体数据进行比较。
  3. 使用默克尔树验证最新的实体数据。
  4. 如果验证成功,更新验证的实体数据,并根据总存款的差异生成存款事件。

取款处理

小量

  1. 获取发送地址的验证实体数据。
  2. 根据目的地和金额排队取款交易。
  3. 为 outgoingAmount 和当前 outgoingAmount + 取款金额生成预期的实体数据。
  4. 通过创建和广播取款交易来处理队列。
  5. 在指定的 tick 后,检查实体数据 outgoingAmount 是否已更改为预期金额。
  6. 如果有,则标记取款为完成,将其从队列中移除,并更新验证的实体数据。如果没有,重试该过程。

中量

  1. 使用 SENDMANY SC 命令在单个交易中批量最多 25 次取款。
  2. 应用与小量相同的逻辑,使用 SENDMANY 而不是简单的发送交易。
  3. 使用 SENDMANY 的单个地址每分钟可以实现约 100 次取款。

大量

  1. 使用 sendmany 应用程序发送最多 15,625 次付款,约 20 个 tick 内完成(约每分钟 8000 次取款)。
  2. sendmany 应用程序在三级扇出中使用 SENDMANY SC。付款在 .csv 文件中指定,处理以计算总金额,并发送到一个特殊地址。
  3. 一旦资金到达,它们将在三代中分配(25 x 25 x 25 次支付)。

sendmany 仓库

有关 sendmany 程序的详细信息,请访问该仓库:

sendmany GitHub 仓库

结论

将 Qubic 集成到现有服务中需要仔细考虑数据处理,尤其是货币交易。通过选择合适的集成方法并了解 Qubic 的独特方面,服务可以有效地管理不同规模的存款和取款。

阅读 Qsilver 的"非官方"系列

  • 🇨🇳非官方的Qubic临时白皮书
  • 🇨🇳Qubic加密详情
  • 🇨🇳非官方 Qubic 服务集成指南
  • 🇨🇳撰写Qubic智能合约的非官方指南
要获取最新更新,加入Valis Discord,在X上关注我们,并将我们的博客加入书签。

← 上一页

🇨🇳Q钱包、Q客户端和Q服务器

下一页 →

🇨🇳设置和运行Qubic归档服务器

本页内容

  • 非官方 Qubic 服务集成指南
  • 介绍
  • 关于 Qubic 的重要差异
  • 存款处理
  • 基于余额的存款处理
  • 取款处理
  • 小量
  • 中量
  • 大量
  • sendmany 仓库
  • 结论
  • 阅读 Qsilver 的"非官方"系列
Logo

Execution

|

Transparency

XRSSDiscordGitHub