4 个版本 (有破坏性)

0.4.0 2021 年 8 月 13 日
0.3.0 2021 年 8 月 6 日
0.2.0 2021 年 8 月 2 日
0.1.0 2021 年 7 月 16 日

#12 in #defi

每月 21 次下载

自定义许可证

115KB
3K SLoC

项目 Baru

便于在 liquid 上进行 DeFi 的库。

贷款协议

  1. 借款人和贷款人需要就贷款合同的本金、贷款期限、抵押品达成一致。
  2. 借款人将带有 UTXO 的 LoanRequest 发送给贷款人,以提供抵押品,抵押品金额,借款人地址,借款人公钥(与借款人地址不关联)。
  3. 贷款人接收到消息后创建贷款交易:输入:本金输入:来自贷款人 抵押品输入:来自借款人 输出:抵押品输出:被抵押品锁定 输出锁定脚本(如下定义) 本金输出:锁定到借款人地址 借款人变更输出 贷款人变更输出 手续费。
  4. 贷款交易未签名,贷款人将其发送给借款人进行签名,并附带一些秘密值,以便以后进行还款(盲化因子)
  5. 借款人验证(由于机密交易而复杂)交易并签名抵押品输入。
  6. 借款人将已签名的交易发送给贷款人。
  7. 贷款人签名本金输入。
  8. 贷款人广播贷款交易

抵押品输出锁定脚本

if is_repayment {
    if the tx that is using the collateral output as an input:
        1. includes and output that pays the principal + interest to the lender
        2. the sender is the borrower
        return 1
    else
        return 0
} else {
    //liquidation at expiration
    if the current block number is < loan_term
        return 0
    if the sender is not the lender
        return 0
    return 1
}

发布

我们将在每周五发布,目的是频繁推出 Baru 项目的功能增强,以便与流对齐的团队使用。

步骤

  1. 根据 SemVer 更新 Cargo.toml 中的版本号。
  2. 更新 changelog 并确保所有破坏性更改和新功能都已提及。
  3. 生成库的 master 分支的 GitHub 发布版。
  4. 使用 cargo publish 子命令在 crates.io 上发布。

依赖项

~28–46MB
~588K SLoC