Basic 蓝图

Basic 蓝图是一个预先设计好的模板,可帮助你快速构建一个基础版本的 Agent,并根据需求进行定制。

解析 Basic 蓝图

Basic 蓝图基础功能

Basic 蓝图代码结构

以下是 basic.lua 的代码结构:

local json = require('json')
local bint = require('.bint')(512)
local utils = require('.utils')

-- Agent FFP 相关配置,可自定义配置
FFP = FFP or {}
FFP.Settle = FFP.Settle or 'rKpOUxssKxgfXQOpaCq22npHno6oRw66L3kZeoo_Ndk' -- 指定 FFP 结算中心
FFP.Version = FFP.Version or '0.31'   -- FFP 版本号
FFP.MaxNotesToSettle = FFP.MaxNotesToSettle or 2 -- 最大票据结算数量

-- 数据存储
FFP.Notes = FFP.Notes or {}   -- 存储票据
FFP.Settled = FFP.Settled or {} -- 存储已结算票据

-- 提现操作
Handlers.add('ffp.withdraw', 'FFP.Withdraw', function(msg)
  -- 提现逻辑
end)

-- 接单结算
Handlers.add('ffp.takeOrder', 'FFP.TakeOrder', function(msg)
  -- 接单结算逻辑
end)

-- 结算完成通知操作
Handlers.add('ffp.done', function(msg)
  -- 结算完成通知
end, function(msg)
  -- 结算状态更新
end)

代码详解

1. 提现操作-Withdraw

chevron-rightcodehashtag

该功能允许 Agent 的所有者从 Agent 中提取指定资产。

典型场景:

  • Agent 所有者提取收益。

  • 定期清空 Agent 中的剩余资产。

2. 接单结算-TakeOrder

chevron-rightcodehashtag

该功能允许 Agent 从 FFP 协议中获取指定的票据集(Notes),验证其有效性,并提交到 FFP 协议中生成结算订单进行结算。

关键代码逻辑:

  • 验证票据有效性(例如状态、来源、过期时间等)。

  • 调用 FFP 协议中的 StartSettle 接口生成结算订单。

  • 执行结算订单逻辑(比如资金划转)。

3. 结算完成通知-Done

chevron-rightcodehashtag

该功能监听 FFP 协议发送的结算完成通知,并更新票据和结算订单状态。

主要作用是保证 Agent 保存的票据和结算订单状态和 FFP 协议的状态保持一致。

完整代码

chevron-rightbasic.lua hashtag
chevron-rightutils.luahashtag

如何基于蓝图构建自定义 FFP Agent

1. 克隆蓝图

将 basic.lua 和 utils.lua 代码复制到开发环境。

2. 添加自定义逻辑

通常情况下,您无需修改 basic.lua 中已经实现的核心功能代码。只需根据业务需求,在此基础上添加额外的功能逻辑。

例如,我们可以构建一个 FFP 中的 无损套利 Agent

总结

Basic 蓝图是构建 FFP Agent 的标准模板,所有 FFP Agent 均以此为基础,根据具体业务需求扩展更多功能。通过定制化的 Agent,开发者可以高效融入 FusionFi 协议生态,参与各类金融活动。

Last updated