Tangible 平台利用 Gelato 的 Web3 Functions 自动化 real estate TNFTs 的租金收取、分配和fractional ownership的管理。
博客 — 用例
欢迎来到房地产投资的未来!Tangible 是一个创新平台,通过将现实世界的资产转换为有形的非同质化代币 (TNFT),将现实世界的资产带入 DeFi 领域。这些 TNFT 代表现实世界的资产,例如房地产,并且可以在任何给定时间进行交易、出售或兑换为实物资产。
为了确保有效管理这些资产及其产生的收入,Tangible 利用了 Gelato 的 Web3 Functions 的强大功能,从而简化和自动化了平台内的关键流程。
借助 Gelato,Tangible 实现了租金收取和分配给房地产代币持有者的流程自动化。现在,该系统跟踪租金支付,并在达到指定阈值时触发自动分配,从而取代了手动租金分配的需求。
由 Gelato 提供支持的系统还负责房地产代币的碎片化所有权。如果一个代币拥有完全所有权,或者如果有多个碎片化代币,它会自动触发去碎片化过程。
该系统还管理从租户处收取的租金。一旦应付租金达到预定阈值,它将启动租金收取流程,从而无需手动跟进。
Tangible 和 Gelato 的 Web3 Functions 的结合提供了一个自动化系统,可以有效地处理区块链中的房地产投资。该系统跟踪租金收取情况,并在达到预设阈值时自动触发向代币持有者的分配。此外,它还管理房地产代币的碎片化所有权,并在必要时启动去碎片化流程。
以下是流程的分解:
在第一阶段,系统会跟踪房地产代币并计算每个代币应计的租金。
const numTokens = await treasuryTracker.tnftTokensInTreasurySize(realEstateContractAddress).then((result) => result.toNumber());
if (numTokens > 0) {
const i = Math.floor((/* @__PURE__ */ new Date()).getTime() / 6e4) % numTokens;
const tokenId = await treasuryTracker.tnftTokensInTreasury(realEstateContractAddress, i);
}
一旦每个代币累积的租金达到一定阈值,系统就会触发租金收取流程。
const claimable = await revenueShare.claimableForToken(realEstateContractAddress, tokenId);
if (claimable.gt(0)) {
const data = rentCollector.encodeFunctionData("collectRent", [i, 0, false]);
return {
canExec: true,
callData: rentCollector.encodeFunctionData("execute", [data])
};
}
第二阶段涉及管理房地产 NFT 的碎片化所有权。该系统检查每个代币的所有权份额,如果一个代币拥有完全所有权,则启动去碎片化流程。
const fractionTokenIds = await treasuryTracker.getFractionTokensInTreasury(fractionContractAddress);
const tokenShare = await fraction.fractionShares(fractionTokenIds[0]);
if (fractionTokenIds.length > 1 || fullFraction) {
const data = rentCollector.encodeFunctionData("defractionalize", [\
fractionContractAddress,\
fractionTokenIds\
]);
defractionalizeTransactions.push(data);
}
最后,系统处理向代币持有者分配租金支付。它检查代币的可申领租金金额,如果存在可申领租金,则启动租金收取流程。
const claimable = await revenueShare.claimableForToken(fractionContractAddress, fractionTokenIds[k]);
if (claimable.gt(0)) {
const data = rentCollector.encodeFunctionData("collectRent", [j, k, true]);
return {
canExec: true,
callData: rentCollector.encodeFunctionData("execute", [data])
};
}
该系统简化了租金分配,为代币持有者提供了无缝且高效的用户体验。
Gelato 的 Web3 Functions 为开发人员提供了一个创新的解决方案,可以轻松创建无服务器的去中心化应用程序。它们可以无缝集成智能合约与链下数据,从而弥合链上和链下世界之间的差距。
加入我们的社区,并在 Discord 上进行开发者讨论。
Web3 Functions 现已在 private beta 中提供。有关更多信息,请查看 Web3 Functions documentation。要学习如何编写、测试和部署你自己的 Web3 Functions,请使用此 Hardhat template
在此处申请 here 测试 Web3 Functions!
- 原文链接: gelato.cloud/blog/tangib...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!