文章
问答
讲堂
百科图谱
线下集训
更多
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
讲堂
线下集训
专栏
活动
工作
文档
集市
搜索
登录/注册
5
Ton链上的Jetton 有没有类似以太坊ERC20的approve 和transferFrom操作
回答问题即可获得
5
贡献值,回答被采纳后即可获得
9
学分。
有个需求,需要扣用户token,希望做成类似以太坊的approve 和transferFrom的逻辑,用户授权给第三方来扣款。不知道ton上的Jetton有没有类似的实现方式。
有个需求,需要扣用户token,希望做成类似以太坊的approve 和transferFrom的逻辑,用户授权给第三方来扣款。不知道ton上的Jetton有没有类似的实现方式。
0 条评论
分类:
Web3应用
请先
登录
后评论
默认排序
时间排序
5 个回答
吉梦良
2024-08-30 23:34
没有。
请先
登录
后评论
沐英
2024-09-01 02:04
ton 没有approve的机制,都是直接发送异步消息,需求层面做个伪approve的交互。让用户确认下。真实的授权数量还是取决于合约的底层编写和安全性校验
请先
登录
后评论
Crypto0xCat
- 开发工程师
2024-09-05 14:12
要求用户的Jetton wallet 往你的合约的Jetton Wallet发送需要的代币,然后接收到相应的通知进行操作。
请先
登录
后评论
King
2024-10-28 11:05
https://blog.ton.org/how-to-shard-your-ton-smart-contract-and-why-studying-the-anatomy-of-tons-jettons 在深入研究TON智能合约分片和Jetton代币架构之前,建议您阅读上面这篇文章。 这篇文章深入浅出地阐述了相关概念,对于理解Jetton的诸多方面大有裨益。 特别是对于那些对Jetton许多概念尚感陌生的开发者来说,此文更是不容错过。 同时,个人推荐从事TON合约开发的朋友们细致阅读,文章内容丰富而有趣,定能为您的工作带来新的启发。
请先
登录
后评论
NPC.李括
1天前
在 Ton 链上,Jetton 是一种代币标准,类似于以太坊的 ERC20 代币。虽然 Jetton 的设计与 ERC20 有所不同,但它确实支持一些类似的功能。 Jetton 的授权和转账机制 授权机制: 在 Ton 链的 Jetton 标准中,没有直接对应于 ERC20 的 approve 和 transferFrom 方法的功能。相反,Jetton 通常通过合约设计来实现用户授权的逻辑。 用户可以通过发送交易来调用 Jetton 合约的特定方法,从而允许第三方合约进行代币转移。 转账操作: Jetton 代币的转账通常通过 transfer 方法进行,这个方法直接从用户的账户中扣除指定数量的代币并转移到目标地址。 如果需要实现类似于 transferFrom 的功能,你可能需要在你的合约中实现自定义逻辑,来检查用户是否已授权该操作。 实现类似 ERC20 的逻辑 如果你想在 Ton 的 Jetton 代币上实现类似于 ERC20 的 approve 和 transferFrom 的逻辑,可以考虑以下步骤: 创建代理合约: 创建一个代理合约,允许用户通过调用该合约的方法来授权和转移代币。 用户调用代理合约的 approve 方法,设定允许的转移额度。 实现自定义转移逻辑: 在代理合约中实现 transferFrom 方法,该方法将检查用户的授权状态和转移额度,然后调用 Jetton 合约的 transfer 方法来完成代币转移。 示例逻辑 下面是一个简化的示例逻辑,用于说明如何在 Ton 上实现类似于 ERC20 的授权机制: solidity ``` contract JettonProxy { mapping(address => mapping(address => uint256)) public allowances; function approve(address spender, uint256 amount) public { allowances[msg.sender][spender] = amount; } function transferFrom(address from, address to, uint256 amount) public { require(allowances[from][msg.sender] >= amount, "Allowance exceeded"); // 调用 Jetton 合约的 transfer 方法 jettonContract.transfer(from, to, amount); allowances[from][msg.sender] -= amount; } } ```
请先
登录
后评论
您需要登录后才可以回答问题,
登录
关注
5
关注
收藏
0
收藏,
1339
浏览
erick
提出于 2024-08-29 10:12
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容:
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因: