关于 Solana 链 token 转移

209 天前
 leiiiooo
Solana 链上转移 token 的时候,通常我们都是只知道用户 A 的钱包地址,但是其实用户 A 特定 token 的 token account 可能用很多种( ata 或者 ta ),我怎么确定应该转到那个地址呢?这个 token account 如果是自定义的话,那么通常要如何维护处理逻辑呢?
1903 次点击
所在节点    Solana
9 条回复
Aliver
209 天前
1. ata 可以用 wallet + mint + token program + a token program 算出来
2. ta 直接通过 rpc 从 token program 里面 filter ,dataSize 和 memcmp 对比 mint 应该就可以了
leiiiooo
208 天前
@Aliver #1 嗯,但是我怎么确定我应该给用户转哪个地址呢?
Aliver
208 天前
@leiiiooo 直接转给 ata 就可以了,这个是确定的
leiiiooo
208 天前
@Aliver #3 嗯嗯,ata 这个肯定是没问题的,但是我用钱包或者 cex 交易所时候,它们充值资产的时候无论是 usdt 还是 usdc 都是一个地址,我认为这个就是用户的 wallet address 。那么看起来,转账的逻辑(包括 ata 检测和创建的逻辑)是不是就是应该在发起方,比如我使用 gateio 提币,那这部分逻辑就应该是又 gateio 维护的呢?
Aliver
208 天前
@leiiiooo 对滴,token account 对用户来说是透明的,感知到的只有 wallet address ;转账都是封装好的
leiiiooo
208 天前
@Aliver #5 大佬,我还有个疑问,那对于我上面提到的例子来说,租金难道说也是 gateio 的那个账户出吗?假如那个账户就是没有 sol ,它只有 usdt ,那我们提 usdt 到链上的话,租金这块儿应该怎么处理呢?是不是一般会有个特定付款租金的账户呢🤔,还是需要往对应的 ata 账户存入 sol (存入的 sol 由 gateio 对应的提现账户来负担)
Aliver
208 天前
你分成两部分看就清晰了
1. 存钱进交易所,发起人给交易所地址转,ata rent 会和 gas 一起付掉
2. 提现出交易所,都是有手续费的(大部分都收 1u ),ta rent 一般 0.002 sol
leiiiooo
207 天前
@Aliver #7 嗯嗯,我昨天又看了下文档,好像现在 rent 都是一次性付清,直接达到免租额度。提现的话,确实应该也是加到用户的手续费里面,相当于用户自己创建了一个 authority 是它 wallet address 的一个 token account ,毕竟这个 token account 销毁的时候还能返回一点手续费。这样感觉好麻烦,我也是最近才开始开 solana 开发的,之前一直写的都是 solidity ,感觉 solana 账户这一套还挺绕的😴
Aliver
207 天前
@leiiiooo 哈哈哈哈 是挺绕的,习惯了就好了,到处是 account😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1112146

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX