@aptos-labs/derived-wallet-sui

中文文档
0.2.1发布于 2026/03/10Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 1.2万

轻量级加载包 @aptos-labs/wallet-adapter-反应 使功能能够使用 Sui 钱包作为原生 Aptos 钱包

中文使用文档
文档目录7 节
  1. Sui钱包如何与钱包适配器一起工作?
  2. 如何在我的DApp中整合一个苏伊钱包?
  3. 使用量
  4. 自动钱包检测
  5. 提交交易(与收费人)
  6. 考虑因素
  7. 资源

衍生钱包 Sui

轻量级加载包 @aptos-labs/wallet-adapter-反应 使功能能够使用 Sui 钱包作为原生 Aptos 钱包

Sui钱包如何与钱包适配器一起工作?

当用户使用被支持的Sui钱包连接到dApp时,适配器会计算用户的可衍生摘要账户(DAA)地址并转换Sui账户,以遵循Aptos钱包标准接口. 这确保了开发者和终端用户与钱包的无缝互动.

DAA 地址的计算使用 authenticationFunction 编辑 accountIdentity,两者在本包中定义:

  • authenticationFunction:这是存在于链上并用于验证Sui账户签名的函数. 该函数存在于 0x1::sui_derivable_account::authenticate
  • accountIdentity:这代表了用于验证Sui账户签名的链上认证功能中使用的账户的身份. Sui DAA账户身份格式为: ${originWalletPublicKey}${domain}

如何在我的DApp中整合一个苏伊钱包?

钱包适配器跟随 苏伊钱包标准 以发现钱包. 目前,已测试和支持跨链账户的钱包有:

阿普托斯·德文内Aptos 测试网阿普托斯主网
后包装✅✅
夜来✅✅
OKX 单曲✅✅
幽灵✅✅
倒浆✅✅

使用量

自动钱包检测

在用户连接其Sui钱包的dApp构建时使用这种方法.

  1. 安装软件包
npm install @aptos-labs/wallet-adapter-react @aptos-labs/derived-wallet-sui
  1. 设置自动检测
import { AptosWalletAdapterProvider, Network } from "@aptos-labs/wallet-adapter-react";
import { setupAutomaticSuiWalletDerivation } from "@aptos-labs/derived-wallet-sui";

setupAutomaticSuiWalletDerivation({ defaultNetwork: Network.TESTNET });

// ...

<AptosWalletAdapterProvider
  dappConfig={{
    network: Network.TESTNET,
  }}
>
  {children}
</AptosWalletAdapterProvider>

提交交易(与收费人)

在大多数情况下,允许用户向Aptos连锁公司提交有Sui账户的交易需要使用赞助商交易. 这是因为苏伊账户可能没有APT支付汽油. 因此,DApp应考虑维持一个赞助人账户来赞助交易.

import React from "react";
import { useWallet } from "@aptos-labs/wallet-adapter-react";
import {
  Aptos,
  AptosConfig,
  Network,
  Ed25519PrivateKey,
  PrivateKey,
  PrivateKeyVariants,
  Account,
} from "@aptos-labs/ts-sdk";

// Initialize an Aptos client
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);

// Generate a sponsor account or use an existing account
const privateKey = new Ed25519PrivateKey(
  PrivateKey.formatPrivateKey("0x123", PrivateKeyVariants.Ed25519),
);
const sponsor = Account.fromPrivateKey({ privateKey });

const SignAndSubmit = () => {
  const { account, signTransaction } = useWallet();

  const onSignAndSubmitTransaction = async () => {
    if (!account) {
      throw new Error(
        "Account is not connected and unable to sign transaction",
      );
    }

    try {
      // Build the transaction
      const rawTransaction = await aptos.transaction.build.simple({
        data: {
          function: "0x1::aptos_account::transfer",
          functionArguments: [account.address.toString(), 1],
        },
        sender: account.address,
        withFeePayer: true,
      });

      // Send it to the wallet to sign
      const walletSignedTransaction = await signTransaction({
        transactionOrPayload: rawTransaction,
      });

      // Sponsor account signs the transaction to pay for the gas fees
      const sponsorAuthenticator = aptos.transaction.signAsFeePayer({
        signer: sponsor,
        transaction: rawTransaction,
      });

      // Submit the transaction to chain
      const txnSubmitted = await aptos.transaction.submit.simple({
        transaction: rawTransaction,
        senderAuthenticator: walletSignedTransaction.authenticator,
        feePayerAuthenticator: sponsorAuthenticator,
      });

      // if you want to wait for transaction
      await aptos.waitForTransaction({ transactionHash: txnSubmitted.hash });
    } catch (error) {
      console.error(error);
    }
  };

  return (
    <button onClick={onSignAndSubmitTransaction}>
      Sign and submit transaction
    </button>
  );
};

export default SignAndSubmit;

考虑因素

  • 由于来源钱包最有可能没有与Aptos集成,所以在钱包中无法使用模拟.
  • 软件包保留了原产地钱包,因此开发人员应该能够通过:
import { useWallet } from "@aptos-labs/wallet-adapter-react";

const { isSuiDerivedWallet } = useWallet();

if (isSuiDerivedWallet(wallet)) {
  const publicKey = wallet.suiWallet.accounts[0]?.publicKey;
}

资源

版本与发布记录

@aptos-labs/derived-wallet-sui 共发布 7 个版本,首次发布于 2026/01/23;过去 12 个月发布了 7 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.1latest2026/03/107 个月前
0.2.02026/01/279 个月前
0.2.0-alpha.42026/01/239 个月前
0.2.0-alpha.32026/01/239 个月前
0.2.0-alpha.22026/01/239 个月前
0.2.0-alpha.12026/01/239 个月前

其他发布通道:alpha → 0.2.0-alpha.0。

关于 @aptos-labs/derived-wallet-sui 的常见问题

@aptos-labs/derived-wallet-sui 是什么?

轻量级加载包 @aptos-labs/wallet-adapter-反应 使功能能够使用 Sui 钱包作为原生 Aptos 钱包

如何安装 @aptos-labs/derived-wallet-sui?

在项目目录运行 npm install @aptos-labs/derived-wallet-sui,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@aptos-labs/ts-sdk(^5.1.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aptos-labs/derived-wallet-sui 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aptos-labs/derived-wallet-sui 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aptos-labs/derived-wallet-sui 可以商用吗?

@aptos-labs/derived-wallet-sui 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aptos-labs/derived-wallet-sui 的下载量有多少?

根据 npm 官方下载统计,@aptos-labs/derived-wallet-sui 在 2026/10/07 – 2026/11/05 这 30 天内被下载 12,174 次,日均约 406 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aptos-labs/derived-wallet-sui 还在维护吗?

最新版本 0.2.1 发布于 2026/03/10(7 个月前);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/01/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。