[英]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.