OrderBook Agent
OrderBook Agent 运行用户设置买卖订单,并支持订单撮合,本用例包含以下操作:
创建 OrderBook Agent。
存入 Token 到 Agent,用户创建挂单交易。
发起挂单,并获取挂单的 NoteID。
使用 Basic 用例中的 Agent 进行吃单,完成订单撮合成交。
创建
执行以下命令创建两个 OrderBook Agent:
node ./orderbook/create.js
输出结果示例:
wBn7-31aDtChhLfUk_eXNG9Nbafa_ghT29XRxk7osiM create orderbook agent: <YourOrderBookAgent1>
ORHaLUrAiknTAq2Wszoyl6buJrd3MqDKLTF_2CggLtw create orderbook agent: <YourOrderBookAgent2>
将 ORDERBOOKAGENT1 和 ORDERBOOKAGENT2 配置到 .env.local 文件中并加载:
export $(cat .env.local | xargs)
Agent 存入 Token
node ./orderbook/deposit.js --walletN=2 --agentId=$ORDERBOOKAGENT2
检查余额:
node ./balance.js --address=$ORDERBOOKAGENT2
创建挂单
通过以下命令创建挂单:
node ./orderbook/make.js --walletN=2 --agentId=$ORDERBOOKAGENT2
输出结果示例:
openOrders {
MVBggDjYkl3UxoHRZ2rO6ZLDcN4ax4Af6rehyYJ3CH0: {
ID: 2600,
AssetID: 'AttsQGi4xgSOTeHM6CNgEVxlrdZi4Y86LQCF__p4HUM',
HolderAssetID: '0fLIp-xxRnQ8Nk-ruq8SBY8icaIvZMujnqCGU79fnM0',
NoteID: 'MVBggDjYkl3UxoHRZ2rO6ZLDcN4ax4Af6rehyYJ3CH0',
IssueDate: 1733297306962,
HolderAmount: '3',
Amount: '1',
Status: 'Open',
Price: 3,
Issuer: 'RPFQd69SX2tbrtNBfVxzVSt9zQYk07WrHOCDhxDHu0o'
}
}
查询订单:
node ./orderbook/query.js --agentId=$ORDERBOOKAGENT2
将 NoteID 设置为环境变量:
export NOTEID=<NoteID>
吃单
使用 Basic Agent1 进行吃单:
node ./basic/take.js --walletN=1 --agentId=$AGENT1 --noteId=$NOTEID
交易完成后,检查两方 Agent 的余额:
node ./balance.js --address=$AGENT1
node ./balance.js --address=$ORDERBOOKAGENT2
Last updated
Was this helpful?