> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arksat.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 安装与快速开始

> 安装 SDK，检测插件并完成第一次钱包连接。

## 安装

安装并启用 Arksat 插件，在普通网站页面接入。浏览器内部页面无法注入 Provider，安装插件后已打开的网站可能需要刷新。

SDK 尚未发布到 npm。获取 Arksat 团队提供的 SDK 0.2.0 安装包，放入项目目录后执行：

```sh theme={null}
npm install ./arksat-wallet-sdk-0.2.0.tgz
```

SDK 使用 ESM，携带 TypeScript 类型。Node.js 构建环境要求 18 或更高；钱包调用在浏览器中执行。主入口可在 SSR 项目导入，检测与连接放在客户端。

## 最小接入

```ts theme={null}
import { createArksatClient, waitForArksatProvider } from '@arksat/wallet-sdk'

export async function onConnectClick() {
  const provider = await waitForArksatProvider({ timeoutMs: 5000 })
  const client = createArksatClient(provider)
  const capabilities = await client.getCapabilities()
  if (capabilities.apiVersion !== 2) throw new Error('请更新钱包插件')
  const { accounts } = await client.connect()
  const [network, balance] = await Promise.all([
    client.getNetwork(), client.getBalance(),
  ])
  return { client, accounts, network, balance }
}
```

把函数绑定到用户点击，在调用处处理拒绝、超时等[错误](https://docs.arksat.xyz/errors.md)。页面挂载时只检测状态，不主动弹授权。

`getArksatProvider()` 立即返回 Provider 或 `undefined`；`waitForArksatProvider()` 等待注入，默认超时 5 秒，支持 `AbortSignal`。检测到插件不代表网站已授权。

下一步：[连接与授权](https://docs.arksat.xyz/connection.md)、[查询资产](https://docs.arksat.xyz/assets.md)。

## 不使用 SDK 的接入方式

插件也支持直接调用 `window.arksat`，无需安装 npm 包。页面加载时检测 `window.arksat`，或监听 `arksat#initialized` 后重新检测。用户点击连接时再调用 `connect()`；其返回值是地址数组，而非 Client 的具名对象。

```ts theme={null}
export async function connectInjectedWallet() {
  const provider = (window as Window & {
    arksat?: { connect(): Promise<string[]> }
  }).arksat
  if (!provider) throw new Error('请安装插件并刷新页面')
  return provider.connect()
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.