Buy Node
Buy Node 是专门用于买入代币的交易执行节点,是 Swap Node 的实例节点。它提供清晰的买入语义,简化了代币购买操作的配置。
节点信息
节点类型
buy_node
显示名称
Buy
节点分类
Trade(交易执行)
图标
📈 上涨趋势图标
句柄颜色
Amber(橙色) / Emerald(绿色)
节点类别
Instance Node(实例节点)
基类节点
swap_node
功能说明
Buy Node 专门用于买入代币操作,内部使用 Swap Node 的完整交换功能,但提供了更直观的参数命名。用户只需指定要买入的代币和支付的代币,节点自动处理交换逻辑。
主要用途:
买入目标代币
清晰的买入语义
简化参数配置
自动处理交换方向
核心特性:
💰 买入语义:
buy_token和base_token参数更直观🔄 自动映射:内部转换为 Swap Node 的 from/to 参数
📊 完整功能:继承 Swap Node 的所有功能
🎯 专注买入:优化的用户体验
与 Swap Node 的关系
Buy Node 是 Swap Node 的实例节点,关系如下:
SwapNode (基类)
├─ from_token (源代币)
└─ to_token (目标代币)
↓ 实例化
BuyNode (实例)
├─ base_token → from_token (用什么买)
└─ buy_token → to_token (买什么)参数映射:
base_token→from_token(支付的代币)buy_token→to_token(买入的代币)
继承的功能:
智能池子搜索
动态价格计算
滑点保护
多链支持
完整的交易收据
输入参数
参数列表
buy_token
searchSelect
✅
-
要买入的代币符号
base_token
searchSelect
✅
-
用于支付的代币符号
chain
searchSelect
✅
aptos
区块链网络
vault_address
text
✅
-
金库地址
amount_in_human_readable
switch
✅
{mode:"number",value:""}
支付金额(Number/Percentage 模式切换)
slippery
number
✅
1.0
滑点容忍度(%)
order_type
select
✅
market
订单类型
limited_price
number
❌
-
限价(未实现)
buy_token 参数
说明: 您想要买入的代币符号
示例:
APT- 买入 Aptos CoinBTC- 买入 BitcoinETH- 买入 Ethereum
base_token 参数
说明: 用于支付的代币符号("用什么买")
示例:
USDT- 使用 USDT 支付USDC- 使用 USDC 支付APT- 使用 APT 支付
amount_in_human_readable 参数
说明: 支付金额,支持两种模式:精确数量(Number)和百分比(Percentage)
类型: Switch(模式切换器)
数据结构:
{
mode: "number" | "percentage", // 模式:精确数量 或 百分比
value: string // 数值(字符串形式)
}模式 1:Number(精确数量)
指定精确的 base_token 数量进行支付。
{
"buy_token": "APT",
"base_token": "USDT",
"amount_in_human_readable": {
"mode": "number",
"value": "100"
}
}
// 含义:使用 100 USDT 买入 APT模式 2:Percentage(百分比)
按 base_token 余额的百分比进行支付(0-100)。
{
"buy_token": "APT",
"base_token": "USDT",
"amount_in_human_readable": {
"mode": "percentage",
"value": "50"
}
}
// 含义:使用 50% 的 USDT 余额买入 APT前端 UI:
用户首先选择模式(Number 或 Percentage)
Number 模式:显示数字输入框
Percentage 模式:显示 0-100% 滑块 + 输入框
选择建议:
精确控制成本 → 使用
number模式动态调整仓位 → 使用
percentage模式
order_type 参数
支持的类型:
market
市价单
✅ 已实现
limit
限价单
⏳ 未实现
说明:
当前仅支持市价单
限价单功能计划中
输出参数
输出列表
trade_receipt
Trade Receipt
object
完整的交易收据
trade_receipt 输出
数据结构与 Swap Node 完全相同,参见 Swap Node 文档。
关键字段:
from_token:base_token值to_token:buy_token值amount_in: 实际支付金额amount_out: 实际买入数量tx_hash: 交易哈希
使用示例
示例 1:使用 USDT 买入 APT
场景: 花费 100 USDT 购买 APT。
工作流结构:
Vault Node (Aptos)
↓ vault_address
Buy Node (买入 APT)
↓ trade_receipt
Telegram Sender Node (发送通知)Buy Node 配置:
{
"buy_token": "APT",
"base_token": "USDT",
"amount_in_human_readable": {
"mode": "number",
"value": "100"
},
"slippery": 1.0,
"chain": "aptos"
}交易理解:
用 100 USDT 买入 APT
根据当前价格,预计买入约 13.79 APT(假设 APT=$7.25)
滑点保护:至少买入 13.65 APT
示例 2:使用 50% 余额买入
场景: 使用当前 USDT 余额的 50% 买入 BTC。
Buy Node 配置:
{
"buy_token": "BTC",
"base_token": "USDT",
"amount_in_human_readable": {
"mode": "percentage",
"value": "50"
},
"slippery": 0.5,
"chain": "aptos"
}执行过程:
1. 查询金库 USDT 余额:1000 USDT
2. 计算支付金额:1000 * 50% = 500 USDT
3. 执行买入:500 USDT → BTC示例 3:AI 推荐买入
场景: AI 分析后推荐买入某个代币。
工作流结构:
X Listener Node (监听KOL推文)
↓ latest_tweets
AI Model Node (分析推文)
↓ ai_response { buy_token: "BTC", amount: 100 }
↓
Vault Node (获取金库)
↓ vault_address
↓
Buy Node (执行买入)
↓ trade_receipt
Dataset Output Node (保存记录)AI Model Node 输出:
{
"buy_token": "BTC",
"base_token": "USDT",
"amount": 100.0,
"confidence": 0.85,
"reason": "技术面突破关键阻力位"
}示例 4:条件买入
场景: 价格低于某个值时买入。
工作流结构:
Binance Price Node (获取 BTC 价格)
↓ kline_data
Code Node (检查价格)
↓ should_buy (true/false)
Condition Node (价格 < $50,000?)
↓ (true)
├─→ Vault Node → Buy Node (买入)
↓ (false)
└─→ 不执行最佳实践
1. 参数命名理解
Buy Node 语义:
我要用 [base_token] 买入 [buy_token]示例:
用 USDT 买入 APT ✅ 清晰
买入 APT 用 USDT ✅ 同义
2. 与 Swap Node 对比
Buy Node(推荐用于买入):
{
"buy_token": "APT",
"base_token": "USDT",
"amount_in_human_readable": 100.0
}Swap Node(通用交换):
{
"from_token": "USDT",
"to_token": "APT",
"amount_in_human_readable": 100.0
}选择建议:
明确的买入操作 → 使用 Buy Node
双向交换操作 → 使用 Swap Node
AI 生成的工作流 → Buy Node 语义更清晰
3. 金额设置
固定金额买入(Number 模式):
{
"amount_in_human_readable": {
"mode": "number",
"value": "100"
}
}
// 花费固定 100 USDT比例买入(Percentage 模式):
{
"amount_in_human_readable": {
"mode": "percentage",
"value": "30"
}
}
// 花费 USDT 余额的 30%建议:
精确控制成本 → 使用
number模式动态调整仓位 → 使用
percentage模式
注意事项
⚠️ 重要提示
参数方向理解
base_token是支付的代币(减少)buy_token是买入的代币(增加)金额参数指的是
base_token的数量
与 Sell Node 的区别
Buy Node: 获得目标代币
Sell Node: 卖出持有代币
内部实现相同,语义相反
继承的限制
所有 Swap Node 的限制都适用
滑点、Gas、流动性等要求相同
订单类型
当前仅支持市价单
限价单(
limit)功能未实现limited_price参数暂时无效
故障排查
Q: 提示参数错误?
A:
确认提供了
buy_token和base_token检查代币符号是否正确
确保金额参数有效
Q: 买入数量与预期不符?
A:
检查当前市场价格
确认
amount_in是 base_token 的数量滑点会影响最终买入数量
查看
trade_receipt.amount_out获取实际数量
Q: 应该使用 Buy Node 还是 Swap Node?
A:
使用 Buy Node:
✅ 明确的买入操作
✅ 前端用户界面
✅ AI 生成的工作流
使用 Swap Node:
✅ 需要灵活的交换方向
✅ 程序化交易
✅ 基于其他节点输出的交换
技术规格
节点版本
0.0.2
节点类别
Instance Node
基类节点
swap_node
继承功能
100%
支持的链
Aptos, Flow EVM
支持的 DEX
Hyperion (Aptos), Flow DEX
相关节点
Swap Node - 基类节点,通用代币交换
Sell Node - 卖出代币的实例节点
Vault Node - 金库管理节点
Code Node - 预处理交易参数
Condition Node - 条件判断
相关文档:
节点与工作流 - 节点基础概念
Swap Node - 基类节点完整文档
Weather 语法 - 工作流文件格式
Last updated