@esseyonsui/sui-sdk

中文文档
0.1.12发布于 2026/11/11Apache-2.0TypeScriptES Module近 30 天下载 2833

Essey on Sui的TypeScript客户端:事务构建器,链阅读器,借贷规则检查,封闭房间打开,未签名的所有者事务构建,以及键分离检查。仅限测试网和本地网。

中文使用文档
文档目录6 节
  1. 两把钥匙
  2. 快速启动( 本地网)
  3. 公共 API (英语: src/index.ts (中文(简体) )
  4. 活动
  5. 实例(当地网)
  6. 测试

@sesyonsui/sui-sdk (英语)

Sui 上的 Essey 的 TypeScript 客户端: 交易构建器、 链读取器、 借出规则检查、 密封室 开通,所有者交易未签名构建,并进行密钥分隔检查. 测试网和当地网只限.

0.1.11 是已发布的软件包;安装该软件包。 这棵树 package.json 实值 0.1.12 还没有在npm. EsseyOwner.sign 允许部署 oraclePkg 并拒绝以屏蔽方式提取中继器费或更少的中继器费 ZERO_WITHDRAW (取自SDK 0.1.12 / MCP 0.1.16). 安装 0.1.11 与 "overrides": { "underscore": "1.13.8" } 在消费项目的包中site/content/sdk/install.md) (中文(简体) ). [email protected] 牵引 bfj → jsonpath → [email protected] (GHSA-qpx9-hpmf-5gmw;npm只从该根应用了超接. groth16.fullProve 不调用 bfj。没有中继器类型 repay_v2; v2 贷款用 repayCoinV2Tx。 。 。 . 0.1.10 修正v1 saleBidTx (准入和闸门),需要集合投标证书,从地址余额中提取SUI存款和v2抵押,并添加v2注销,到期,清算,债权违约, recoverRoomNote,包键中止名称, readingFor 财务报告和审定财务报表 suiFaucetError。 。 。 . 0.1.9 是上一个软件包版本(ESM,节点22+; npm run build 写入 dist/),在npm上进行. 0.1.9 添加 buildPoolBidV2 财务报告和审定财务报表 buildOfferV2 (单位:千美元)src/shielded/spend-v2.ts),它构成一个v2池花及其 bid_v2 编号 : loan_offer_v2 一个呼叫中的中继器机体,在封存或证明链条或中继器会拒绝什么之前,拒绝;v2打开并证明构建者 openSaleV2Tx, (中文(简体) ), attestSellerV2Tx, (中文(简体) ), openPrivateLoanV2Tx, (中文(简体) ), attestBorrowerV2Tx· ; fetchSettleKeys 用于解决(16)密钥;以及 snarkjs 0.7.6 作为一种依赖,因此 snarkjsProver, (中文(简体) ), settleProver 财务报告和审定财务报表 provedPassFor 自己装入( o)ProverPaths.snarkjs 为可选的)。 还出口 persistentMemberSecrets, (中文(简体) ), walletGasMode 财务报告和审定财务报表 wireBidExt。 。 。 . fetchProofBundle 下载 TEST-ONLY 成员并花费密钥(@esseyonsui/proving-keys-testonly并且拒绝任何不是已部署核查员的散列文件; fetchSettleKeys 对 @esseyonsui/settle-keys-testonly保持游泳池的大小 在现场回报 pool::rate_bps 并且不签名,当该读数缺失或没有从0到10万的整数。 贷款按自己的利率发放。 用 MCP 软件包安装它( Namesite/content/sdk/install.md) (中文(简体) ). 0.1.3 读取 deployment.oraclePkg 何时 pyth_oracle 是它自己的软件包,就像测试网剪接一样; 保留它和阅读器 留下来 ${pkg}::${reader}。 。 。 . 0.1.2 已添加 TESTNET_PRIVATE 编号 : testnetPrivateMcp() 财务报告和审定财务报表 deployment.access 存款, 邮箱,填充和游泳池借入。 在这个仓库里 packages/mcp 按名称导入,决心 src/ 通过根 tsconfig paths。主机后端在 agents/ 财务报告和审定财务报表 services/ 仍然使用自己的这些模块; 切换它是一个单独的改变.

两把钥匙

一个特工用它自己的钥匙运行 所有代理标志都经过 EsseyAgent.execute (单位:千美元)src/agent.ts),在每次签名前重新运行密钥分隔检查,拒绝,使用 NOT_AGENT_CALL, (中文(简体) ), 代理道外的任何交易(src/lane.ts数字 : lendingFunctions, (中文(简体) ), LANE_COMMANDS,同样的服务器列表 (b) 支持《公约》的国家 所以每一笔贷款 代理签个名 国库. 借款人用自己的钱包管理一个密封的房间(Ptb.openRoom, (中文(简体) ), openRoomBids, (中文(简体) ), Ptb.settle),已签名 外部 EsseyAgent。所有者动作(创建账户, 规定贷款人的任务、存款、延期、撤销、撤回、收取违约款、对借款人贷款采取行动) src/owner.ts 返回时 unsignedTx (单位:千美元)src/unsigned.ts)作为所有者在另一个设备上签名的字节. 没有 函数在此软件包中使用所有者键.

SeparationCheck (单位:千美元)src/separation.ts拒绝:

代码含义
KEYS_NOT_SEPARATE代理人自己的地址拥有一个金库的所有人 拥有一个代理Cap
OWNER_CAP_PUBLIC所有者Cap是共享或被冻结的,所以任何密钥都可以作为所有者
OWNER_CAP_UNVERIFIABLE无法找到或读取所有者 Cap, 或坐在由模块决定使用对象的物体内
AGENT_CAP_MISMATCH配置的 AgentCap 不为此密钥所持有, 或属于另一个金库

它检查每个金库 钥匙持有一个特工Cap, 不只是配置的。 每个金库都有一个 所有者Cap, 在交易中创建, 释放其 TreasuryCreated 活动(move/essey_sui/sources/treasury.move share;其id被缓存,其所有者在每次运行时再次被读取. 无法看到的: 保存在 同一机器上的不同地址.

快速启动( 本地网)

import { connect, deploymentOf, EsseyAgent, loadAgentKey } from "@esseyonsui/sui-sdk";

const chain = await connect({ network: "localnet", rpcUrl: "http://127.0.0.1:9000" });
const agent = await EsseyAgent.start({
  chain,
  deployment: deploymentOf(JSON.parse(deploymentJson)),
  signer: loadAgentKey("/path/to/agent.env", "localnet"),
  account: { treasuryId, agentCapId, cash: { treasuryId: cashTreasuryId, capId: cashCapId } },
  gas: "address-balance",
});
const landed = await agent.borrowFromOffer(offerId, 25_000_000_000n, 5_000_000n);
if (!landed.ok) console.log(landed.abort); // e.g. { module: "treasury", name: "ERateBelowFloor", code: 17, ... }

借款人的办公桌电话被连锁扣在借款规则上,其所有者在SUI上限上设定(最大利率,最短) 学期,最近成熟; borrowerOwnerTx("deposit", ..., { limits, borrow })) (中文(简体) ). 在他们外边装满一个桌子 中止 treasury::ERateAboveCeiling (24个), ETermTooShort (25个)或 EPastRepayBy (26个),没有规定, ENoBorrowMandate (23个). 规则还规定,池借人可以使用的一个池(borrow.poolId; 无效拒绝 每个游泳池); 从其他游泳池借到的办公桌中止 EPoolNotAllowed (27个). 他们也给国库的现金起名 一定要落地 在(借款人自有现金一方,取自国库配对,绝不取自代理输入) 其他终止 ECashNotAllowed (28) (英语). 他们有津贴,办公桌还可以借用(a) 再融资只用新本金偿还旧债;借过后就终止了 EOverAllowance (29起),偿还确实 不恢复它, 主人的下一组是. EsseyAgent.allowance() 读出剩下的内容.

拒绝的交易仍然占地: Landed.ok 是虚假的, digest 是真实的,而且 abort 名称移动常数 (单位:千美元)src/aborts.ts MOVE_ABORTS,以 test/aborts.test.ts) (中文(简体) ).

公共 API (英语:src/index.ts(中文(简体) )

  • 连接 : connect, (中文(简体) ), resolveNetwork, (中文(简体) ), assertChainId, (中文(简体) ), TESTNET, (中文(简体) ), MAINNET_CHAIN_ID, (中文(简体) ), LOCALNET_RPC_URL; 类型 EsseyChain, (中文(简体) ), EsseyNetwork, (中文(简体) ), NetworkConfig。 Mainnet 不是网络值, 主网链 ID 被拒绝 .
  • 密钥 : loadAgentKey, (中文(简体) ), createAgentKeyFile (KEY=VALUE文件,模式600,被其网络所标记).
  • 探员: EsseyAgent 与 start, (中文(简体) ), execute, (中文(简体) ), separation, (中文(简体) ), postOffer, (中文(简体) ), cancelOffer, (中文(简体) ), borrowFromOffer, (中文(简体) ), borrowFromPool, (中文(简体) ), repay, (中文(简体) ), refinance, (中文(简体) ), addCollateral, (中文(简体) ), claim, (中文(简体) ), bidSealed, (中文(简体) ), offer, (中文(简体) ), loan, (中文(简体) ), myLoans, (中文(简体) ), limits, (中文(简体) ), recipients, (中文(简体) ), capSides, (中文(简体) ), warnings; 类型 AgentAccount, (中文(简体) ), AgentOptions, (中文(简体) ), Warning。 。 。 .
  • 代理车道 : lendingFunctions, (中文(简体) ), loanRoomFunctions, (中文(简体) ), BORROWER_DESK, (中文(简体) ), LANE_COMMANDS, (中文(简体) ), outsideLane, (中文(简体) ), assertAgentLane, (中文(简体) ), normalizeTarget; 类型 Lane。 。 。 .
  • 构建器 : Ptb (每个代理PTB,包括借款人办公桌) desk* 电话); 类型 Me, (中文(简体) ), PtbBook。 。 。 .
  • 读者: Book (出价、贷款、房间、房价、 持有的贷款、契约、池子股份、报价、欠款、水下贷款、限制), 授权、结余、时钟).
  • 所有人(未签字): ownerTx, (中文(简体) ), borrowerOwnerTx, (中文(简体) ), renewTx, (中文(简体) ), unsignedTx, (中文(简体) ), OWNER_ACTIONS, (中文(简体) ), BORROWER_OWNER_ACTIONS, (中文(简体) ), LENDER_CAP_LIMIT; 类型 OwnerRefs, (中文(简体) ), BorrowerOwnerRefs, (中文(简体) ), ChainMandate, (中文(简体) ), RenewSide, (中文(简体) ), UnsignedTx。 。 。 .
  • 规则: src/rules.ts 财务报告和审定财务报表 src/policy.ts (单位:千美元)drawFault, (中文(简体) ), termsFault, (中文(简体) ), allowedFills, (中文(简体) ), parsePolicy, (中文(简体) ), repayBound(中文(简体) ).
  • 密封室: openRoomBids, (中文(简体) ), rankOpenings, (中文(简体) ), bidTerms, (中文(简体) ), offerCommitment, (中文(简体) ), consentDigest, (中文(简体) ), encryptOffer, (中文(简体) ), sealClient, (中文(简体) ), OFFER_CT_LEN,, , , , , , , , .
  • 密封结算 v2( 出售 room v2, 私人 room v2; Sui testnet ids) TESTNET_SALE_ROOM_V2, (中文(简体) ), TESTNET_PRIVATE_LOAN_V2: openSaleV2Tx, (中文(简体) ), attestSellerV2Tx, (中文(简体) ), bidV2Tx, (中文(简体) ), poolBidV2Tx, (中文(简体) ), finishV2Tx, (中文(简体) ), slashBidV2Tx, (中文(简体) ), openPrivateLoanV2Tx, (中文(简体) ), attestBorrowerV2Tx, (中文(简体) ), offerV2Tx, (中文(简体) ), settleV2Tx, (中文(简体) ), settleRelayedV2Tx, (中文(简体) ), repayV2Tx, (中文(简体) ), repayCoinV2Tx, (中文(简体) ), slashOfferV2Tx· ; 编曲 buildPoolBidV2, (中文(简体) ), buildOfferV2 (结束) Spend 加减 bid_v2 编号 : loan_offer_v2 体质; bidV2Body, (中文(简体) ), loanOfferV2Body, (中文(简体) ), poolSpendOf, (中文(简体) ), ShieldedWallet.spendDeps(三); commitV2, (中文(简体) ), plaintextV2, (中文(简体) ), sealEntryV2, (中文(简体) ), openRoomEntries, (中文(简体) ), settlePlan, (中文(简体) ), settleProver, (中文(简体) ), fetchSettleKeys, (中文(简体) ), settleProvingKeys (TST -ONLY 密钥) @esseyonsui/settle-keys-testonly, (中文(简体) ), readSaleRoomV2, (中文(简体) ), readPrivateLoanV2; 类型 SaleRoomV2Config, (中文(简体) ), PrivateLoanV2Config, (中文(简体) ), SettleStatement, (中文(简体) ), PoolBidV2Request, (中文(简体) ), OfferV2Request。主机解密其房间的条目 在当地定居,有Groth16证明;只有赢家和赢家的价值连锁交易.
  • 链式助手 : simulate, (中文(简体) ), landedOf, (中文(简体) ), createdOf, (中文(简体) ), oneCreated, (中文(简体) ), parseAbort; 类型 Landed, (中文(简体) ), GasMode, (中文(简体) ), ChainEvent, (中文(简体) ), EventSource。 。 。 .
  • 错误 : EsseyError (单位:千美元)code: EsseyErrorCode, (中文(简体) ), isEsseyError, (中文(简体) ), ESSEY_ERROR_CODES代码永远不会重新命名. NOT_AGENT_CALL数字 : execute 拒绝代理车道以外的交易;没有签名.

活动

测试网从Sui GraphQL读取事件. 本地网从全诺德的GRPC读取 LedgerService.ListEvents(中文(简体) ) 1.82 将JSON-RPC从全节点上移除(MystenLabs/sui#27907).

实例(当地网)

scripts/sdk-e2e-local.sh 开始一个新的本地网并按顺序运行,然后重读每一份打印摘要:

  • examples/localnet.ts 出版Essey immutable(升级Cap在出版的PTB中被销毁,因为 代理/部署.ts发布Immutable does)并播放所有者设备(所有者密钥与每个代理密钥分开).
  • examples/lend.ts 员额提议;根据任务授权提出的提议被连锁拒绝treasury::ERateBelowFloor) (中文(简体) ).
  • examples/borrow-repay.ts 然后借钱还债 财务处.
  • examples/sealed-room.ts:借款人-1的代理密钥被拒绝开放房间(NOT_AGENT_CALL)借款人自己的 钱包,单独的普通密钥 examples/localnet.ts 资金,打开房间, 两个出贷人投标密封 钱包中最便宜的和解并偿还。 localnet没有封存密钥服务器,所以放款人会随机放置封存长度的字节; 在 同一文件的测试网使用"封".
  • examples/keys-together.ts 显示SDK和MCP拒绝拥有自己所有者Cap的代理.
  • ../mcp/examples/claude.ts 驱动MCP服务器的方式克洛德.

测试

npm test 财务报告和审定财务报表 npm run typecheck 在此文件夹中. test/ 保存提取模块的原始套件 调整其进口量(使用主机担保车道或自助服务表格的五项测试与 原作),外加新的测试,用于构建者,阅读者,分离,代理,网络,密钥和事件.

版本与发布记录

@esseyonsui/sui-sdk 共发布 14 个版本,首次发布于 2026/11/01;过去 12 个月发布了 14 个版本。

版本发布日期距今
0.1.12latest2026/11/113 天前
0.1.112026/11/103 天前
0.1.102026/11/103 天前
0.1.92026/11/104 天前
0.1.82026/11/095 天前
0.1.72026/11/095 天前

关于 @esseyonsui/sui-sdk 的常见问题

@esseyonsui/sui-sdk 是什么?

Essey on Sui的TypeScript客户端:事务构建器,链阅读器,借贷规则检查,封闭房间打开,未签名的所有者事务构建,以及键分离检查。仅限测试网和本地网。

如何安装 @esseyonsui/sui-sdk?

在项目目录运行 npm install @esseyonsui/sui-sdk,或使用 pnpm add / yarn add / bun add。

@esseyonsui/sui-sdk 支持 TypeScript 吗?

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

@esseyonsui/sui-sdk 支持 ESM 还是 CommonJS?

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

@esseyonsui/sui-sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@esseyonsui/sui-sdk 可以商用吗?

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

@esseyonsui/sui-sdk 的下载量有多少?

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

@esseyonsui/sui-sdk 还在维护吗?

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