# @blockshake/defly-connect 中文文档

规范地址：https://npmcn.com/package/%40blockshake/defly-connect/

版本：1\.2\.1
npm 元数据更新时间：2025-01-09T05:08:30.666Z
中文译文更新时间：2026-11-08T07:31:54.956Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40blockshake/defly-connect
原文对照：https://npmcn.com/package/%40blockshake/defly-connect/?lang=original
项目主页：https://github.com/blockshake-io/defly-connect#readme
源码仓库：https://github.com/blockshake-io/defly-connect

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：228 kB，111 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：6 个
- peer 依赖：algosdk ^3\.0\.0
- 首次发布：2022-09-29T19:38:14.521Z
- 最新版本发布：2025-01-09T05:08:30.478Z
- 近 30 天下载量：50695（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install @blockshake/defly-connect
```

也可以使用：`pnpm add @blockshake/defly-connect`、`yarn add @blockshake/defly-connect`、`bun add @blockshake/defly-connect`

## README

### @ blockshake/ dedely- connect (英语)

集成的 JavaScript SDK [外钱包](https://defly.app/) 到网络应用程序。 详情请查看 [外向手动](https://docs.defly.app/app/overview/)。 。 。 .

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

### 快速启动

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

```
npm install --save @blockshake/defly-connect
```

```jsx
// 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时,需要处理重联会话状态. 你可以用以下方式做到这一点.

```jsx
// 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]);
  }
});
```

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

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

## 选项

| 选项 | 默认 | 价值 |  |
| --- | --- | --- | --- |
| `chainId` | `4160` | `416001`, (中文(简体) ), `416002`, (中文(简体) ), `416003` , (中文(简体) ), `4160` | 选项 |
| `shouldShowSignTxnToast` | `true` | `boolean` | 选项 |

#### **`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` 类,使该模式不会与应用程序上的其他组件相冲突.

```scss
.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` 标签.

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

### 捐款

欢迎所有捐款! 欲了解详情,请阅读 [捐款](https://npmcn.com/package/%40blockshake/defly-connect/CONTRIBUTING.md) 先导.

## 常见问题

### @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 和提交记录判断。

