#pallet #fd #interest #amount #set #substrate #balance

无std pallet-bank

FRAME托盘银行,用于处理投资、贷款等金融系统

1个不稳定版本

0.1.4 2023年7月17日
0.1.2 2023年7月10日
0.1.1 2023年7月6日
0.1.0 2023年7月6日

#interest中排名#5

MIT-0许可协议

60KB
1K SLoC

银行托盘

用于处理投资、贷款等金融系统的托盘

概述

任何人都可以通过保留一定数量的货币并选择允许的到期期限来开设定期存款(FD)。定期存款本金必须在管理员设置的min_fd_amountmax_fd_amount(范围)之间。定期存款金额将从用户的free_balance中保留。

在定期存款期间,保留的金额不能使用,因此需要从free_balance中释放。为了获得利息,定期存款只能在管理员设置的fd_epoch(到期)后关闭,否则保留的金额将无利息退还给用户,并且根据提前提取设施收取罚款(0.5-1%)。penalty_rate是数据持久性的,并由根原设置。

但是,如果在个人定期存款保险库的maturity_period(开设时设置)后关闭定期存款,则保留的金额将加上利息退还给用户。利息率由根原存储和设置。

累积的利息来自由根原资助的宝库账户。如果用户进行恶意活动,宝库账户将通过网络的通胀或对用户的余额削减来资助。

注意:运行时必须包含Balances托盘来处理链的账户和余额。它已在Cargo.toml文件中显示为[dev-dependencies]。

接口

可调用的函数

  • set_fd_params
  • set_treasury
  • open_fd
  • close_fd
  • lock_for_membership
  • unlock_for_membership

构建

检查依赖项是否正常工作

$ cargo check -p node-template-runtime

使用以下命令构建运行时的WASM二进制文件

$ cargo build -r

测试

运行托盘中的所有测试

$ cargo test -p pallet-bank

运行单个测试

# example
$ cargo test -p pallet-bank --lib -- tests::it_works_for_default_value

尽管上方显示了在VSCode中运行单个测试的按钮。

基准

运行

运行中继链节点(无调试模式)

$ ./target/release/node-template --dev

在调试模式下运行中继链节点

$ RUST_LOG=runtime=debug ./target/release/node-template --dev

依赖项

~13–32MB
~454K SLoC