簡體   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