jToken 集成
jToken介绍
jToken 是指 JustLend DAO 中存入底层资产所得到的“存款凭证”。也就是您在存款后所得到的 jTRX、jUSDT、jSUN、jBTC等代币,它是存在于您钱包中的一种 TRC20 代币。
去中心化金融(DeFi)协议 JustLend DAO 支持的所有资产,都是通过 jToken 智能合约来封装集成的,用户通过铸造代币(jToken)向协议提供资产,然后您只要持有 jToken,就可以赚取到利息,而当您选择赎回后,每个 jToken 都可兑换成相应的基础资产。
因为 jToken 是一种 TRC20 的代币,所以它和其他代币拥有同样的特性。例如:转账给其他人,存入某个智能合约中等等。如果您将 jToken 转账给其他人或机构,则代表您放弃了对您存入 JustLend DAO 的资产的拥有权。
使用场景
A 在 JustLend DAO 中存入了 100 TRX,得到了 10000 jTRX 的存款凭证(jToken),之后 A将 6000 jTRX 转账给了 B。此时,A剩余的存款凭证变为 4000 jTRX(等值 40 TRX 的 JustLend DAO 存款),而 B 会凭空得到 6000 jTRX 的存款凭证(自A转账所得,等值 60 TRX 的JustLend DAO 存款)。如果 B 不主动将 jToken 转回给 A,则代表 A 永远失去了对此 6000 jTRX(60 TRX)的存款拥有权。(此例子中 jTRX的兑换比例按 1 TRX = 100 jTRX 计算)。
可以说,jToken 是与JustLend DAO 协议交互的主要方式。每个 jToken 合约都创造了自己的货币市场,而用户铸币、赎回、借款、偿还借款、清算借款或转让 jToken 时,他们将使用到 jToken 合约。
如何用jTokens赚取利息
每个市场都有自己的供应利率(APR)。 利息无需分发,您只需持有 jTokens,就可以获得利息。
jTokens 通过其汇率积累利息——随着时间的推移,即便你钱包中 jTokens 的数量保持不变,每个 jToken 都可以转换为越来越多的基础资产。
jToken 智能合约
合约地址
查询接口
清算激励
功能描述: 通过调用Unitroller合约的liquidationIncentiveMantissa函数,可以查询到清算激励。 清算人将获得借款人抵押品的一部分作为激励,这被定义为清算激励。 这是为了鼓励清算人对水下账户进行清算。
参数: N/A
返回:
getAccountLiquidity 方法
功能描述: 通过调用 Unitroller 合约的 getAccountLiquidity 函数,可以通过账户地址获取账户信息,判断该账户是否应该被清算。
参数 :
返回值
ExchangeRate
功能说明 :调用该方法返回最新汇率
参数: N/A
返回值:
按 1e18 比例计算的汇率
Get Cash
功能描述 :调用该方法获取当前市场可用的底层代币余额总量。
参数: N/A
返回值:
本合约拥有的底层资产数量
Total Borrows
功能描述: 调用该方法获取当前借出和应计利息的总和。
参数: N/A
返回值:
当前借出和应计利息的总和
Borrow Balance
功能描述: 调用该方法对更新的 borrowIndex 产生利息,然后使用更新的 borrowIndex 计算账户的借入余额
参数:
返回值:
计算后的余额
Borrow Rate
功能描述 :调用此方法获取此 jToken 当前的借入利率/区块
参数: N/A
返回值:
借款利率,按 1e18 缩放
Total Supply
功能描述: 调用该方法获取流通中的 token 总数
参数: N/A
返回值:
token 的总量
Underlying Balance
功能描述: 调用该方法获取所有者的底层代币余额
参数:
返回值:
指定账户的余额
Supply Rate
功能描述: 调用此方法获取此 jToken 当前的抵押利率/每块
参数: N/A
返回值:
当前的抵押利率/每块,按 1e18 缩放
Total Reserves
功能描述: 调用此方法获取储备金。 储备金代表作为 cash 留出的一部分历史利息,可以通过协议的治理提取或转移。
参数: N/A
返回值:
储备金总量
Reserve Factor
功能描述: 调用该方法获取当前的储备因子。
参数: N/A
返回值:
当前的储备因子
非查询接口
Borrow
功能描述 :调用该方法从 JustLend DAO 协议中借用资产到交易发送者的地址
参数:
返回值:
无,发生错误时回退
repayBorrow
功能描述 :调用该方法偿还自己的借款
参数:
返回值:
无,发生错误时回退
repayBorrowBehalf
功能描述:调用此方法以代替借款人还款
参数:
返回值:
无,发生错误时回退
Mint
功能描述 :调用此方法向市场提供资产并接收 jToken 作为交换
参数:
返回值:
无,发生错误时回退
Redeem
功能描述:调用该方法以赎回 jTokens 换取原资产,无论操作成功与否,都可以获得抵押期间产生的利息。
参数:
返回值:
成功时返回0,否则将回退
RedeemUnderlying
功能描述: 调用该方法可赎回 jTokens 以换取指定数量的原始资产。
参数:
返回值:
成功时返回 0,否则将回退
Transfer
Feature description: Calling this method transfers a specified amount of jtokens to the destination. This action will fail if the account's liquidity become negative due to the transfer.
Parameter description:
Returns:
A boolean value indicating whether or not the transfer succeeded.
Liquidate Borrow(jTrc20)
功能描述: 通过调用对应 jTrc20 合约(如jUSDT)的 liquidateBorrow 函数,流动性不符合市场抵押要求的账户将被其他用户强平,使账户流动性恢复到正常水平(即高于市场要求)用于抵押。在清算的情况下,清算人可以为借款人偿还部分或 50% 的贷款。清算人将获得一定比例的借款人抵押品作为奖励。
参数:
返回值:
Liquidate Borrow(jTRX)
功能描述: 通过调用 jTRX 合约的 liquidateBorrow 函数,流动性不满足市场质押要求的账户将被其他用户强平,使账户流动性恢复到正常水平(即高于市场质押要求)。在清算的情况下,清算人可以为借款人偿还部分或 50% 的贷款。清算人将获得一定比例的借款人抵押品作为奖励。
参数: