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 的库。
贷款协议
- 借款人和贷款人需要就贷款合同的本金、贷款期限、抵押品达成一致。
- 借款人将带有 UTXO 的 LoanRequest 发送给贷款人,以提供抵押品,抵押品金额,借款人地址,借款人公钥(与借款人地址不关联)。
- 贷款人接收到消息后创建贷款交易:输入:本金输入:来自贷款人 抵押品输入:来自借款人 输出:抵押品输出:被抵押品锁定 输出锁定脚本(如下定义) 本金输出:锁定到借款人地址 借款人变更输出 贷款人变更输出 手续费。
- 贷款交易未签名,贷款人将其发送给借款人进行签名,并附带一些秘密值,以便以后进行还款(盲化因子)
- 借款人验证(由于机密交易而复杂)交易并签名抵押品输入。
- 借款人将已签名的交易发送给贷款人。
- 贷款人签名本金输入。
- 贷款人广播贷款交易
抵押品输出锁定脚本
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 项目的功能增强,以便与流对齐的团队使用。
步骤
- 根据 SemVer 更新 Cargo.toml 中的版本号。
- 更新 changelog 并确保所有破坏性更改和新功能都已提及。
- 生成库的 master 分支的 GitHub 发布版。
- 使用
cargo publish
子命令在 crates.io 上发布。
依赖项
~28–46MB
~588K SLoC