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