@blockshake/defly-connect

中文文档
1.2.1发布于 2025/01/09ISCTypeScriptES Module近 30 天下载 5.1万

JavaScript SDK用于将Defly钱包集成到网络应用程序.

中文使用文档
文档目录7 节
  1. @ blockshake/ dedely- connect (英语)
  2. 快速启动
  3. 选项
  4. 方法
  5. 自定义样式
  6. 您在Defly钱包上的应用程序名
  7. 捐款

@ blockshake/ dedely- connect (英语)

集成的 JavaScript SDK 外钱包 到网络应用程序。 详情请查看 外向手动。 。 。 .

这是连接 JavaScript SDK 的Pera 的叉子, 以便进行更详细的访问 皮拉连接 (原始内容存档于2018-09-29). on GitHub.

快速启动

我们从安装开始 @blockshake/defly-connect

npm install --save @blockshake/defly-connect
// Connect handler
deflyWallet
  .connect()
  .then((newAccounts) => {
    // Setup the disconnect event listener
    deflyWallet.connector?.on("disconnect", handleDisconnectWalletClick);

    setAccountAddress(newAccounts[0]);
  })
  .reject((error) => {
    // You MUST handle the reject because once the user closes the modal, deflyWallet.connect() promise will be rejected.
    // For the async/await syntax you MUST use try/catch
    if (error?.data?.type !== "CONNECT_MODAL_CLOSED") {
      // log the necessary errors
    }
  });

如果您不希望用户的账户信息在用户关闭浏览器时被dApp丢失,使用用户钱包连接到dApp时,需要处理重联会话状态. 你可以用以下方式做到这一点.

// On the every page refresh
deflyWallet.reconnectSession().then((accounts) => {
  // Setup the disconnect event listener
  deflyWallet.connector?.on("disconnect", handleDisconnectWalletClick);

  if (accounts.length) {
    setAccountAddress(accounts[0]);
  }
});

之后您可以以此方式签署交易

// Single Transaction
try {
  const signedTxn = await deflyWallet.signTransaction([singleTxnGroups]);
} catch (error) {
  console.log("Couldn't sign Opt-in txns", error);
}

选项

选项默认价值
chainId4160416001, (中文(简体) ), 416002, (中文(简体) ), 416003 , (中文(简体) ), 4160选项
shouldShowSignTxnToasttrueboolean选项

chainId

确定您 dApp 使用的 Algorand 网络 .

主网: 416001 (中文(简体) )

测试网: 416002 (中文(简体) )

贝塔网: 416003 (中文(简体) )

所有网络:4160个

shouldShowSignTxnToast

它默认是启用的,但在某些情况下,你可能不需要土司消息(例如,你已经为用户签署了指南). 要禁用, 请使用 showSignTxn Toast 选项 :

方法

DeflyWalletConnect.connect(): Promise<string[]>

启动初始连接流程并返回账户地址的数组.

DeflyWalletConnect.reconnectSession(): Promise<string[]>

如果存在活动连接, 则重新连接到钱包并返回账户地址的数组 .

DeflyWalletConnect.disconnect(): Promise<void | undefined>

从钱包上断开连接,并重排相关的存储项目.

DeflyWalletConnect.platform: DeflyWalletPlatformType

返回活动会话的平台。 可能的对策: mobile | null

DeflyWalletConnect.isConnected: boolean

检查是否有活动会话,无论平台如何. 可能的对策: true | false

DeflyWalletConnect.signTransaction(txGroups: SignerTransaction[][], signerAddress?: string): Promise<Uint8Array[]>

启动签名进程并返回签名的交易 Uint8Array

自定义样式

您可以使用 .defly-wallet-connect-modal 类,使该模式不会与应用程序上的其他组件相冲突.

.defly-wallet-connect-modal {
  // The default value of z-index is 10. You can lower and raise it as much as you want.
  z-index: 11;
}

您在Defly钱包上的应用程序名

默认情况下,Defly钱包上的连接钱包抽屉会从应用程序名中获取 document.title。 。 。 .

在某些情况下,您可能想要定制它 。 您可以在 HTML 之间添加元标记来达到此目的 head 标签.

<meta name="name" content="My dApp" />

捐款

欢迎所有捐款! 欲了解详情,请阅读 捐款 先导.

版本与发布记录

@blockshake/defly-connect 共发布 14 个版本,首次发布于 2022/09/30;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.1latest2025/01/091.8 年前
1.2.02024/12/311.9 年前
1.1.62023/08/213 年前
1.1.52023/06/243 年前
1.1.42023/06/243 年前
1.1.32023/06/203 年前

关于 @blockshake/defly-connect 的常见问题

@blockshake/defly-connect 是什么?

JavaScript SDK用于将Defly钱包集成到网络应用程序.

如何安装 @blockshake/defly-connect?

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

@blockshake/defly-connect 支持 TypeScript 吗?

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

@blockshake/defly-connect 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@blockshake/defly-connect 可以商用吗?

@blockshake/defly-connect 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@blockshake/defly-connect 的下载量有多少?

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

@blockshake/defly-connect 还在维护吗?

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