繁体   English   中英

如何使用 phantom JS 创建关联的令牌地址?

[英]How can I create an associated token address with phantom JS?

@solana/spl-token有两种方法:

  • getAssociatedTokenAddress
  • getOrCreateAssociatedTokenAccount

上下文,一个只有公共地址但可以访问幻影。

如果关联的令牌已经存在,则getAssociatedTokenAddress可以正常工作,但getOrCreateAssociatedTokenAccount需要密钥。

使用Phantom ,如何通过签名机制生成该令牌地址?

具体用例:想要将 USDT 发送给没有 USDT 关联地址的公众。 我希望幻影以某种方式签署动作并创建该地址

所以,如果这就是你想做的全部:

具体用例:想要将 USDT 发送给没有 USDT 关联地址的公众。 我希望幻影以某种方式签署动作并创建该地址

您无需担心直接创建帐户,因为您只需将令牌发送到钱包,并从签名者那里为帐户创建提供资金。 所以只是一个普通的token::transfer就足够了 IIRC。

但是要回答您的第一个问题,即如何使用 Phantom 进行一些需要私钥的操作,一般的方法是在 JS 中创建一个Transaction ,然后使用钱包适配器signTransaction进行签名,然后发送/确认已签名的交易。 (根据您发送和确认的方式,您可能还必须将最近的区块哈希和付款人添加到Transaction中)

这类似于createAssociatedTokenAccount在幕后所做的 - https://github.com/solana-labs/solana-program-library/blob/48fbb5b7/token/js/src/actions/createAssociatedTokenAccount.ts#L30 -通过钱包适配器签名的额外转折。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM