簡體   English   中英

從多重簽名賬戶支付 solana 交易費用

[英]paying solana transaction fee from multisig account

我在 solana 上有 3 個簽署者的 solana 智能合約。 人們將溶膠存入“項目”賬戶。 如果要轉出任何 sol 或進行許多其他操作,所有 3 個簽名者都必須使用他們的錢包(幻像)簽名。 我的理解是,簽字的交易費用會向每個簽字的簽字人收取? 是否可以從“項目”賬戶而不是每個簽字人那里收取這筆交易費用?

我想問題歸結為簽名者和付費者是否可以是 solana 中的不同帳戶? 類似問題 - 讓 Solana 程序為交易付費

您可以在https://safe.snowflake.so上利用 Snowflake 的 Solana Multisig 非常輕松地做到這一點

創建保險箱時,您可以選擇 3 個簽名者,並指定任何交易所需的簽名者數量。 這將創建一個安全地址,您可以在其中存儲資金。 任何已獲得必要簽名者批准的交易將使用項目內的資金支付費用。 如果您有任何反饋,請告訴我!

您可以為任何交易手動指定feePayer ,因此它可以是其他帳戶。 這是一個 JS 示例:

      const from = Keypair.generate();
      const to = Keypair.generate().publicKey;
      const feePayer = Keypair.generate();
      const transaction = new Transaction({
        feePayer: feePayer.publicKey,
      }).add(
        SystemProgram.transfer({
          fromPubkey: from.publicKey,
          toPubkey: to,
          lamports: 10,
        }),
      );
      const signature = await connection.sendTransaction(transaction, [feePayer, from]);

請注意, feePayer必須是可以生成簽名的帳戶,而不是程序派生地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM