OrderBook Agent

OrderBook Agent 运行用户设置买卖订单,并支持订单撮合,本用例包含以下操作:

  1. 创建 OrderBook Agent。

  2. 存入 Token 到 Agent,用户创建挂单交易。

  3. 发起挂单,并获取挂单的 NoteID。

  4. 使用 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?