核心用法
本技能为Aavegotchi生态的Baazaar市场提供链上操作能力,专注于Base主网(chainId 8453)。核心功能涵盖三大模块:
1. 市场浏览(View)
- 通过Goldsky托管的Subgraph查询ERC721/ERC1155挂单状态
- 支持按ID精确查询或筛选活跃挂单(cancelled=false, sold/purchased=false)
- 实时获取价格、卖家、创建时间等关键字段
2. 交易执行(Execute)
- GHST直付:调用Diamond合约的
executeERC721ListingToRecipient/executeERC1155ListingToRecipient - USDC换购:通过
swapAndBuy*路径自动完成USDC→GHST兑换并购买,需计算swapAmount、minGhstOut、deadline等参数 - 双路径均支持指定 recipient 地址(默认FROM_ADDRESS)
3. 挂单管理(Add Listing)
- ERC721/ERC1155双标准支持
- 需先查询listing fee并设置NFT合约授权
显著优点
- 安全优先设计:默认
dryRun=true,强制模拟(cast call)后才可广播(cast send),避免误操作 - 双币种灵活性:原生GHST支付 + USDC一键换购,降低新用户门槛
- 链上验证机制:强制校验chain-id(8453)与私钥-地址对齐
- 实时数据同步:操作前强制重新拉取Subgraph数据,规避listing状态变更风险
- 非交互式友好:使用
~/.foundry/bin/cast绝对路径,支持cron等自动化场景
潜在缺点与局限
- 环境变量依赖重:需配置12+项环境变量,学习成本较高
- 手动计算环节:USDC换购需自行完成swapAmount数学运算(含slippage、fee逻辑),出错概率存在
- 无内置价格保护:除基础slippage参数外,无MEV防护或价格影响预警
- Subgraph单点风险:依赖Goldsky托管端点,若服务中断则无法查询
- Base链限定:不支持Ethereum主网或其他L2的Aavegotchi部署
适合人群
- 熟悉Foundry/cast工具的链上操作者
- 需自动化批量扫货/上架的NFT交易者
- 持有USDC希望无缝进入Aavegotchi生态的用户
- 安全意识强、愿意接受dry-run流程的保守型交易者
常规风险
| 风险类型 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| 私钥泄露 | PRIVATE_KEY在环境变量中传递 | 绝不打印/日志,使用受限权限执行环境 |
| 合约交互失败 | 状态变更后未及时刷新 | 强制refetch subgraph数据 |
| 滑点损失 | USDC swap参数计算偏差 | 严格遵循references/usdc-swap-math.md公式 |
| 恶意listing | 高仿NFT合约地址 | 人工核对tokenAddress与官方reference |
| 网络分叉 | Base主网重组 | 操作后等待适当确认数 |