银河SDK
水分 SDK 顶部 @polkadot{.js} (中文(简体) )。 。 。 .
目录 :
安装
安装方式 无数字 :
npm install @galacticcouncil/sdk
解决问题
第8.x版 (中文(简体) )
⚠️ 重要内容: 在8X版里 我们升级了 @polkadot/api 改为版本 16.x (韩语)。 。 。 .
见 更改日志 详细情况.
2.x版 (中文(简体) )
截止 v2.x (英语) .wasm 文件不再嵌入捆绑 但推迟是为了改善负载性能和减少 模块大小(仅包含).
详细访问情况 难题. md
使用量
使用 createSdkContext 快速设置 SDK 的所有组件——池上下文,交易逻辑,客户访问,和交易建设——在一个单调中.
import { createSdkContext } from '@galacticcouncil/sdk';
import { ApiPromise, WsProvider } from '@polkadot/api';
const ws = 'wss://hydration-rpc.n.dwellir.com';
const wsProvider = new WsProvider(ws, 2_500, {}, 60_000, 102400, 10 * 60_000);
const api = await ApiPromise.create({
provider: wsProvider,
});
const sdk = await createSdkContext(api);
// Don't forget to cleanup resources when DONE
sdk.destroy();
api.disconnect();
它处理所有必要的设置 在引擎盖下。 只要插上你的ApiPromise, 你准备与注册,账户,池,路由器等互动.
⚠️ 说明: 确保每个会话只保留一个实例.
构成部分
api
aave: AaveUtils——涉事公用事业.router: TradeRouter——跨池交易链外优化,实现价格执行最佳.scheduler: TradeScheduler——交易订单调度.
client
asset: AssetClient书记官处元数据和查询.balance: BalanceClient——账户余额跟踪.evm: EvmClient——与EVM互动.
ctx
pool: PoolService——内国情池上下文. 已启动,支助:- 爱
- 缩写
- 平面图
- XYK 池数
- LBP 池库
tx
TxBuilderFactory使用流利的API生成可提交交易的工厂.
destroy()
慷慨地清理了SDK的资源. 离开前总是打电话,以避免内存出漏或呆滞订阅.
API 参考
预告片
| 方法 | 说明 |
|---|---|
getSummary(user: string): AaveSummary | 返回市场摘要. |
getHealthFactor(user: string): number | 计算高频. |
getHealthFactorAfterWithdraw(user: string, reserve:string, withdrawAmount: string): number | 退出后计算高频. |
getHealthFactorAfterSupply(user: string, reserve:string, supplyAmount: string): number | 供应后计算高频. |
getMaxWithdraw(user: string, reserve:string): Amount | 尽量安全撤退. |
* 用于类型定义访问 类型.ts
贸易路透社
| 方法 | 说明 |
|---|---|
getPools(): PoolBase[] | 返回当前可用集合列表. |
getAllPaths(tokenIn: string, tokenOut: string): Hop[][] | 计算两个资产之间的可能路径. |
getAllAssets(): PoolBase[] | 列出可通过路由器进行交易的所有资产. |
getAssetPairs(token: string): Asset[] | 列出所有给定令牌的资产可以交易 . |
getBestSell(tokenIn: string, tokenOut: string, amountIn: bigint | string): Trade | 找到特定投入量的最佳销售交易. |
getBestBuy(tokenIn: string, tokenOut: string, amountOut: bigint | string): Trade | 找到特定产出量的最佳购买交易 . |
getBuy(tokenIn: string, tokenOut: string, amountOut: bigint | string, route?: Hop[]): Trade | 使用特定路由(可选)计算购买. |
getSell(tokenIn: string, tokenOut: string, amountIn: bigint | string, route?: Hop[]): Trade | 使用特定路径( 可选) 计算销售 . |
getBestSpotPrice(tokenIn: string, tokenOut: string): Amount | 获得两个符号之间的当前现货价格. |
getMostLiquidRoute(tokenIn: string, tokenOut: string): Hop[] | 在两个符号之间找到流动性最高的路线. |
* 用于类型定义访问 类型.ts
交易计时器
| 方法 | 说明 |
|---|---|
getDcaOrder(assetIn: string, assetOut: string, amountInTotal: string, duration: number): TradeDcaOrder | 计算 DCA 顺序 . |
getTwapBuyOrder(assetIn: string, assetOut: string, amountInTotal: string): TradeOrder | 计算 TWAP 购买订单 . |
getTwapSellOrder(assetIn: string, assetOut: string, amountInTotal: string): TradeOrder | 计算TWAP销售订单. |
* 用于类型定义访问 类型.ts
资产客户端
| 方法 | 说明 |
|---|---|
getOnChainAssets(includeInvalid?: boolean, external?: ExternalAsset[]): Promise<Asset[]> | 从登记册中以元数据返回资产. |
* 用于类型定义访问 类型.ts
实例
所有例子都假设SDK已经初始化, 见
贸易路透社
计算 HDX 和 built tx 的 1 DOT 的销售量, 并有 5% 的 滑行率( 如果未指定默认为 1%)
const { api, tx } = sdk;
const trade = await api.router.getBestSell("5", "10", "10");
const tradeTx = await tx.trade(trade)
.withBeneficiary(BENEFICIARY)
.withSlippage(5)
.build();
console.log(trade.toHuman());
console.log('Transaction hash:', tradeTx.hex);
资产客户端
获取链上默认数据 .
const { client } = sdk;
const assets = await client.asset.getOnChainAssets();
console.log(assets);
展示更多关于真正链条的工作实例,见 脚本 节.
运行 : $ npx tsx ./test/script/examples/<examplePackage>/<exampleName>.ts 有有效示例包名称( n) .