c 语言token函数,科普 | Compound的cToken及相关核心函数

去中心化金融(DeFi)协议Compound支持的所有资产,都是通过cToken智能合约来封装集成的,用户通过铸造代币(cToken)向协议提供资产,然后你只要持有cToken,就可以赚取到利息,而当你选择赎回后,每个cToken都可兑换成相应的基础资产。

可以说,cToken是与Compound协议交互的主要方式。每个cToken合约都创造了自己的货币市场,而用户铸币、赎回、借款、偿还借款、清算借款或转让cToken时,他们将使用到cToken合约。

目前,Compound协议有两种类型的cToken:CErc20和CEther,其中CErc20封装的是ERC-20资产,而CEther则封装的是以太币。

b8ed3773effa2853d0aea7b0e4705db5.png

(当前Compound协议支持的7种cToken及对应合约地址)

而在这篇文章中,我们将了解Compound协议的核心函数:Mint(铸币);

Redeem(赎回);

Redeem Underlying(赎回基础资产);

Borrow(借款);

Repay Borrow(偿还借款);

Repay Borrow Behalf;

Liquidate Borrow(清算借款);

故障信息

Exchange Rate(兑换汇率);

Get Cash(获取Cash);

Total Borrow(借款总额);

Borrow Balance(借款余额);

Borrow Rate(借款利率);

Total Supply(总供给量);

Supply Balance(供应余额);

Supply Balance Underlying(基础资产供应余额);

Supply Rate(供应率);

Total Reserves(总储备金);

Reserve Factor(储备金率);

1、铸币(Mint)

铸币(Mint)函数负责将资产转移到货币市场,后者根据资产的当前供应率计算利息。铸造的代币数量,根据用户所提供的基础资产数量除以当前汇率得出。

铸币(Mint)相当于Compound 协议的供应来源。

CErc20function mint(uint mintAmount) returns (uint)msg.sender : 提供资产并拥有铸造cToken的帐户;

mintAmount : 以基础资产为单位进行铸币的金额;

RETURN:返回0表示成功,其它则是错误代码;

在提供资产之前,用户必须首先批准cToken以访问其代币余额;

CEtherfunction mint() payablemsg.value (payable):以太币待提供金额,单位为wei;

msg.sender:提供以太币并拥有铸造cToken的账户;

RETURN : 没有返回,出错时还原;

SolidityErc20 underlying = Erc20(0xToken...); // get a handle for the underlying asset contract

CErc20 cToken = CErc20(0x3FDA...); // get a handle for the corresponding cToken contract

underlying.approve(address(cToken), 100); // approve the transfer

assert(cToken.mint(100) == 0); // mint the cTokens and assert there is no error

Web3 1.0const cToken = CEther.at(0x3FDB...);

await cToken.methods.mint().send({from: myAccount, value: 50});

2、赎回

赎回函数负责将基础资产从货币市场转移至用户,以交换之前铸造的cToken。基础资产赎回金额根据cToken的数量乘以当前汇率得出。赎回金额必须小于用户帐户的流动性以及市场的可用流动性。

赎回相当于Compound 协议的退出功能。

CErc20 / CEtherfunction redeem(uint redeemTokens) returns (uint)msg.sender : 赎回资金转移账户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值