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
TGjYzgCyPobsNS9n6WcbdLVR9dH7mWqFx7
jTRX
TE2RzoSV3wFK99w6J9UnnZ4vLfXYoxvRwP
jUSDD
TX7kybeP6UwTBRHLNPYmswFESHfyjm9bAS
jUSDT
TXJgMdjVX5dKiQaUi9QobwNxtSQaFqccvd
jUSDJ
TL5x9MtSnDy537FXKx53yAaHRRNdg9TkkA
jSUNOLD
TGBr8uh9jBVHJhhkwSJvQN2ZAKzVkxDmno
jSUN
TPXDpkg9e3eZzxqxAUyke9S4z4pGJBJw9e
jWIN
TRg6MnpsFXc82ymUPgf5qbj59ibxiEDWvv
jBTC
TLeEu311Cbw63BcmMHDgDLu7fnk9fqGcqT
jETH
TR7BUFRQeq1w5jAZf1FKx85SHuX6PfMqsV
jJST
TWQhCXaWz4eHK4Kd1ErSDHjMFPoPc9czts
jWBTT
TUY54PVeH6WCcYCd6ZXXoBDsHytN9V5PXt
jTUSD
TSXv71Fy5XdL3Rh2QfBoUu3NAaM4sMif8R
jUSDC
TNSBA6KvSvMoTqQcEgpVK7VhHT3z7wifxy
jNFT
TFpPyDCKvNFgos3g3WVsAqMrdqhB81JXHE
jBTT
TUaUHU9Dy8x5yNi1pKnFYqHWojot61Jfto
jBUSD
TLHASseQymmpGQdfAyNjkMXFTJh8nzR2x2
查询接口
清算激励
功能描述:通过调用Unitroller合约的liquidationIncentiveMantissa函数,可以查询到清算激励。 清算人将获得借款人抵押品的一部分作为激励,这被定义为清算激励。 这是为了鼓励清算人对水下账户进行清算。
参数: N/A
返回:
getAccountLiquidity 方法
功能描述: 通过调用 Unitroller 合约的 getAccountLiquidity 函数,可以通过账户地址获取账户信息,判断该账户是否应该被清算。
参数:
account
address
用户地址
返回值
uint256
error(错误码。0代表成功)
uint256
liquidity
uint256
shortfall(当值大于0时,当前账户不符合市场质押要求,需要清算。)
ExchangeRate
功能说明:调用该方法返回最新汇率
参数: N/A
返回值:
按 1e18 比例计算的汇率
Get Cash
功能描述:调用该方法获取当前市场可用的底层代币余额总量。
参数: N/A
返回值:
本合约拥有的底层资产数量
Total Borrows
功能描述:调用该方法获取当前借出和应计利息的总和。
参数: N/A
返回值:
当前借出和应计利息的总和
Borrow Balance
功能描述:调用该方法对更新的 borrowIndex 产生利息,然后使用更新的 borrowIndex 计算账户的借入余额
参数:
account
address
更新 borrowIndex 后应计算余额的地址
返回值:
计算后的余额
Borrow Rate
功能描述:调用此方法获取此 jToken 当前的借入利率/区块
参数: N/A
返回值:
借款利率,按 1e18 缩放
Total Supply
功能描述:调用该方法获取流通中的 token 总数
参数: N/A
返回值:
token 的总量
Underlying Balance
功能描述:调用该方法获取所有者的底层代币余额
参数:
owner
address
账户地址
返回值:
指定账户的余额
Supply Rate
功能描述:调用此方法获取此 jToken 当前的抵押利率/每块
参数:N/A
返回值:
当前的抵押利率/每块,按 1e18 缩放
Total Reserves
功能描述:调用此方法获取储备金。 储备金代表作为 cash 留出的一部分历史利息,可以通过协议的治理提取或转移。
参数: N/A
返回值:
储备金总量
Reserve Factor
功能描述:调用该方法获取当前的储备因子。
参数: N/A
返回值:
当前的储备因子
非查询接口
Borrow
功能描述:调用该方法从 JustLend DAO 协议中借用资产到交易发送者的地址
参数:
borrowAmount
uint
借入资产的金额
返回值:
无,发生错误时回退
repayBorrow
功能描述:调用该方法偿还自己的借款
参数:
amount
uint
偿还金额
返回值:
无,发生错误时回退
repayBorrowBehalf
功能描述:调用此方法以代替借款人还款
参数:
borrower
address
借款人
msg.value
还款金额
返回值:
无,发生错误时回退
Mint
功能描述:调用此方法向市场提供资产并接收 jToken 作为交换
参数:
msg.value
抵押的 TRX 数目
返回值:
无,发生错误时回退
Redeem
功能描述:调用该方法以赎回 jTokens 换取原资产,无论操作成功与否,都可以获得抵押期间产生的利息。
参数:
redeemTokens
uint
赎回的 jToken 数目
返回值:
成功时返回0,否则将回退
RedeemUnderlying
功能描述:调用该方法可赎回 jTokens 以换取指定数量的原始资产。
参数:
redeemAmount
uint
赎回数量
返回值:
成功时返回 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:
dst
dst
The receiver's address
amount
uint256
Amount of token to be transferred
Returns:
A boolean value indicating whether or not the transfer succeeded.
Liquidate Borrow(jTrc20)
功能描述:通过调用对应 jTrc20 合约(如jUSDT)的 liquidateBorrow 函数,流动性不符合市场抵押要求的账户将被其他用户强平,使账户流动性恢复到正常水平(即高于市场要求)用于抵押。在清算的情况下,清算人可以为借款人偿还部分或 50% 的贷款。清算人将获得一定比例的借款人抵押品作为奖励。
参数:
borrower
address
清算账户地址
repayAmount
uint256
清算时需要偿还的代币数量(以借入资产计量)
jTokenCollateral
address
jToken 合约的地址,用于留出借款人的抵押资产
返回值:
Liquidate Borrow(jTRX)
功能描述:通过调用 jTRX 合约的 liquidateBorrow 函数,流动性不满足市场质押要求的账户将被其他用户强平,使账户流动性恢复到正常水平(即高于市场质押要求)。在清算的情况下,清算人可以为借款人偿还部分或 50% 的贷款。清算人将获得一定比例的借款人抵押品作为奖励。
参数:
borrower
address
清算账户地址
msg.value
uint256
清算时需要偿还的TRX数量(以SUN为单位)
jTokenCollateral
address
jTRX 合约的地址,用于留出借款人的抵押资产
返回值:
没有返回值。如果发生任何错误,交易将被回退。
合约事件
Mint(address minter, uint mintAmount, uint mintTokens)
抵押成功
Redeem(address redeemer, uint redeemAmount, uint redeemTokens)
赎回成功
Borrow(address borrower, uint borrowAmount, uint accountBorrows, uint totalBorrows, uint borrowIndex)
借款成功
RepayBorrow(address payer, address borrower, uint repayAmount, uint accountBorrows, uint totalBorrows, uint borrowIndex)
还款成功
LiquidateBorrow(address liquidator, address borrower, uint repayAmount, address cTokenCollateral, uint seizeTokens)
清算借款成功
附录
jToken Decimals
JustLend DAO 上的所有 jToken 都有 8 位精度。
jToken Balance Query
建议您使用 TronWeb 查询 jToken 余额。 例如,您可以按照以下步骤查询 jUSDT 余额:
Last updated