通过 SDK 购买

1. 创建购买订单实例:

type TBuyEnergyOnTronSaveParams = {
    target:string,
    amount:number,
    price:"FAST"|"MEDIUM"|"SLOW"|number,
    duration: number,
    allowPartialFill:boolean,
    maxPrice?:number,
    fulfilledOnly?:boolean 
}

const buyEnergyOnTronsave = async (params:TBuyEnergyOnTronSaveParams) => {
        await tronSave.buyEnergy({
            target: params.target,
            amount: params.amount,
            price: params.price,
            duration: params.duration,
            allowPartialFill: params.allowPartialFill,
        })
    }
//// 示例参数 (Example params)
const params:TBuyEnergyOnTronSaveParams ={
    target: "TXB4...9999", // 接收资源的地址
    amount: 100000, // 想购买100万单位的能源
    price: "MEDIUM",
    duration: 86400000, // 租赁期限为1天
    allowPartialFill: true, // 允许部分填充
    maxPrice: 80, // 最高可接受的价格为80 SUN/1单位能源
    fulfilledOnly: true // 仅当系统准备100%填充时才创建订单
}
参数类型描述

target

string

接收资源的地址

amount

number

资源数量

price

"FAST" | "MEDIUM" | "SLOW" | number

  • "FAST":如果市场准备填满 = 100%,则 "FAST" = "MEDIUM"。如果市场准备填满 < 100%,则 "FAST" = "MEDIUM" + 10。如果市场准备填满 = 0%,则 "FAST" = "SLOW" + 20。

  • "MEDIUM":这个订单的最大市场填充的最低价格。如果市场准备填满 = 0%,"MEDIUM" = "SLOW" + 10。

  • "SLOW":此订单可以设置的最低价格。

  • 如果价格是数字,则价格单位等于SUN。

duration

number

购买资源的持续时间,时间单位为毫秒

allowPartialFill

boolean

允许订单部分匹配或整体匹配。

maxPrice (optional)

number

最高允许SDK创建订单的价格,如果用户设置的价格为“FAST”,“MEDIUM”或“SLOW”,并且估算价格大于最大价格,将取消此订单创建。

fulfilledOnly (optional)

boolean

如果 fulfilledOnly = true,则SDK仅在系统准备100%填充时才会创建订单。

2. 自动创建购买能源订单供机器人使用

  • 此功能用于监控并在能源减少到某个阈值时自动为机器人创建购买能源订单。

  • 每当TronSave构建一笔交易时,将等待至少15秒才能进行下一次调用,除非TronSave确定购买订单错误,否则不会有等待时间。

2.1. 启动此功能:

tronSave.useAutoBuyEnergy(frequency?: number);
参数类型描述

frequency

number

TronSave检查余额和购买能源的时间间隔,以毫秒为单位,默认值为10000。最小值为3000。

2.2. 添加您想要监视的机器人:

第1步: 创建每个机器人的购买配置:

type TBuyEnergyBotConfig = {
    buyThreshold:number,
    target:string,
    amount:number,
    price:"FAST"|"MEDIUM"|"SLOW"|number,
    duration_millisec: number,
    allowPartialFill:boolean,
    maxPrice?:number,
    fulfilledOnly?:boolean 
}

const configBot1:TBuyEnergyBotConfig  =  {
            buyThreshold: 1000000,
            target: "TCtk...Zadwd",
            amount: 50000,
            price: "FAST",
            duration_millisec: 86400000,
            allowPartialFill: true,
            maxPrice: 80
        }
        
const configBot2:TBuyEnergyBotConfig =  {
            buyThreshold: 500000,
            target: "TXer...Fgr46g",
            amount: 200000,
            price: 65,
            duration_millisec: 86400000*3,
            allowPartialFill: false,
        }

const listBots:TBuyEnergyBotConfig[] = [configBot1, configBot2]

参数 (Parameter)

参数类型描述

buyThreshold

number

如果能源低于此阈值,TronSave将创建一个购买能源的订单。

target

string

接收资源的地址

amount

number

资源数量

price

"FAST" | "MEDIUM" | "SLOW" | number

  • "FAST":如果市场准备填满 = 100%,则 "FAST" = "MEDIUM"。如果市场准备填满 < 100%,则 "FAST" = "MEDIUM" + 10。如果市场准备填满 = 0%,则 "FAST" = "SLOW" + 20。

  • "MEDIUM":这个订单的最大市场填充的最低价格。如果市场准备填满 = 0%,"MEDIUM" = "SLOW" + 10。

  • "SLOW":此订单可以设置的最低价格。

  • 如果价格是数字,则价格单位等于SUN。

duration_millisec

number

购买资源的持续时间,时间单位为毫秒

allowPartialFill

boolean

允许订单部分匹配或整体匹配。

maxPrice (optional)

number

最高允许SDK创建订单的价格,如果用户设置的价格为“FAST”,“MEDIUM”或“SLOW”,并且估算价格大于最大价格,将取消此订单创建。

fulfilledOnly (optional)

boolean

如果 fulfilledOnly = true,则SDK仅在系统准备100%填充时才会创建订单。

第2步: 通过将listBots 传递给tronSave.autoBuyEnergy.startObserverTarget内置函数来开始监视您的机器人。

tronSave.autoBuyEnergy.startObserverTarget(listBots)

2.3. 停止监视一个机器人:

要停止监视您的listBots 中的一个机器人地址,请将您的机器人地址传递给tronSave.autoBuyEnergy.cancelObserverTarget

tronSave.autoBuyEnergy.cancelObserverTarget(target)

参数 (Parameter)

参数类型描述

target

string

Bot address.

停止所有机器人:

要停止监视所有机器人,请使用tronSave.autoBuyEnergy.cancelObserverAllTarget

tronSave.autoBuyEnergy.cancelObserverAllTarget()

2.4. 监听购买能源事件:

tronSave.on("buyerInfo", (event: any) => {
    if (event.error || event.type === "error") {
        // 处理错误
    } else {
        // 处理获取买家TRX余额的结果
    }
});

// 监听目标状态事件
tronSave.on("statusTarget", (event: any) => {
    if (event.error || event.type === "error") {
        // 处理错误
    } else {
        // 处理获取机器人能源/阈值的结果
    }
});

// 监听订单准备事件
tronSave.on("prepairOrder", (event: any) => {
    if (event.error || event.type === "error") {
        // 处理错误
    } else {
        // 处理获取估算TRX + 检查订单是否挂起在市场上的结果
    }
});

// 监听执行订单事件
tronSave.on("executeOrder", (event: any) => {
    if (event.error || event.type === "error") {
        // 处理错误
    } else {
        // 处理构建交易 -> 发送API的结果
    }
});

// 监听订单结果事件
tronSave.on("resultOrder", (event: any) => {
    if (event.error || event.type === "error") {
        // 处理错误
    } else {
        // 处理最后的结果,如果成功 => 市场上的订单ID
    }
});

Event lists

事件名称描述响应类型

buyerInfo

处理获取买家TRX余额的结果

statusTarget

处理获取机器人能源/阈值的结果

prepairOrder

处理获取估算TRX + 检查订单是否挂起在市场上的结果

executeOrder

处理构建交易 -> 发送API的结果

resultOrder

处理最后的结果,如果成功 => 市场上的订单ID

Last updated