#transaction #validation #processing #ledger #xand #legal #repo

无 std xand_ledger

处理和验证 Xand 区块链上交易逻辑的库

1 个不稳定版本

0.62.2 2023年2月21日

#4 in #xand

MIT/Apache

435KB
10K SLoC

未受监管的金融

此仓库包含定义我们链的处理和验证逻辑以及可以在此链上执行的交易代码。

它故意依赖性较少,并努力保持对底层链实现(例如:Substrate)的合理无偏见。该包永远不会直接依赖 substrate 包,除了用于 SCALE 编码的包,尽管它不是 substrate 的一部分,但由它使用。

贡献

添加到变更日志

在此仓库进行更改时,请更新 CHANGELOG

标签

此仓库使用标签来识别与 Cargo.toml 中指定的版本一致的仓库级别的发布版本。

在成功合并到 master 之后,创建相应的标签并推送。

有关标签的更多信息,请参阅 Git 文档

版本 0.1.0:标签 "0.1.0"

注意:Git 标签在分支间是全局的

从远程获取标签

git fetch --tags

列出所有标签

git tag -l --sort=-creatordate

添加并推送与 Cargo.toml 中增加的版本匹配的标签

git tag -a "0.8.1" -m "Some info about this release"
git push origin --tags

这将推送任何未推送的标签到远程 - 要推送特定的标签,请使用以下命令:

使用

请查看 rust 文档!您可以这样查看:

cargodoc --open

结构

model 模块包含表示交易及其各个组成部分的结构定义,以及定义如何访问链数据的特质。

构建和验证交易的逻辑可以在 transactions 中找到。

核心加密逻辑在 zkplmt(线性成员元组零知识证明)中。

实际业务逻辑定义了如何处理交易,位于 financial_impl 中 -- 这可能很快会被分割/更改。

src/legal_text/official_text/ 目录中的文本受到至少一名法律团队成员的合并请求(MR)批准,不得进行更改。

这是通过 Gitlab 的代码所有者功能完成的。

请查看 CODEOWNERS 文件中的权限。

防止未授权更改

为了防止在没有法律团队批准的情况下意外编辑此文本,已采取了以下安全措施

  • 包含文本的文件夹在 CODEOWNERS 文件中指明了法律团队代码所有者。

注意:为了使此安全措施按预期工作,此存储库的 Gitlab 设置必须:1) 指示受保护的分支在至少一个代码所有者批准的情况下不能更新,2) 对于 MR/受保护的分支,必须开启 CODEOWNERS 设置。

当创建包含受保护法律文本更改的 MR 时,必须通过 MR 合并到受保护的分支。

  1. 通知法律团队:在 MR 中将法律团队代码所有者添加为“审阅者”(或@提及他们),以便他们可以通过电子邮件收到 MR 的通知。
  2. 获得法律批准:至少需要一位这些代码所有者批准 MR,才能将其合并到受保护的分支。

注意:代码所有者不会自动收到需要他们审阅的 MR 的通知。Gitlab 已知悉问题,但已将其降级。

src/legal_text/official_text 中添加一个新的子目录,并将法律文本文件放在那里。

添加代码所有者

要添加代码所有者审阅者

  1. 将个人的 Gitlab 用户名添加到 CODEOWNERS 文件中适当的定义中。
  2. 确保他们已被添加到我们的 Transparent Inc. Gitlab 项目中,且至少具有“开发者”权限。

参考

TxO 流程图

依赖项

~4MB
~86K SLoC