near-kit 是一个社区维护的 TypeScript 库,用于与 NEAR Protocol 区块链交互,提供类似 fetch 的直观 API。
用途:在 TypeScript/JavaScript 代码中读写 NEAR 链上数据,包括查看合约状态、调用合约方法、发送 NEAR 代币,以及构建原子交易。
主要能力:
- 只读视图:near.view(contractId, method, args)、getBalance、accountExists,无需私钥。
- 签名调用与转账:near.call(...)、near.send(...),需配置 privateKey 与 defaultSignerId。
- 类型安全合约:通过 Contract 泛型定义 view/call 方法签名,也可使用无类型合约代理。
- 交易构建器:near.transaction(signer).functionCall(...).transfer(...).send() 链式组合多个动作。
- 密钥与钱包:支持直接私钥、FileKeyStore、RotatingKeyStore、InMemoryKeyStore、NativeKeyStore,以及 fromHotConnect、fromWalletSelector 适配器。
- React 绑定:@near-kit/react 提供 NearProvider、useNear、useView、useCall。
- 测试:near-kit/sandbox 提供 Sandbox.start()/stop(),可配合 Vitest。
- 工具:Amount、Gas、isValidAccountId、generateKey、generateSeedPhrase、parseSeedPhrase、verifyNep413Signature,以及 InsufficientBalanceError、FunctionCallError、NetworkError、TimeoutError 等错误类型。
使用方式:安装后从 near-kit 导入 Near,按需配置 network、privateKey、defaultSignerId 或 keyStore;浏览器端可结合 @hot-labs/near-connect 的 NearConnector 使用。金额与 Gas 支持人类可读格式,如 "10 NEAR"、"30 Tgas"。
适用场景:后端脚本、机器人、前端 dApp、React 应用、合约交互测试。
限制:官方文档未覆盖 near-kit,新 API 需对照仓库 README 验证;Wallet Selector 在新应用中已被 near-connect 连接器取代;具体收费、价格与平台支持暂未提供。