Carry-Coin 架构设计 Core模块(2)

Carry-Coin Core的PipelineAction,Job的设计

Action 组成部分

  • AbstractForwardPipeline
    • 正向套利(cex->dex)流水线抽象类
  • AbstractReversePipeline
    • 逆向套利(dex->cex)流水线抽象类
  • CommonCutOffForwardPipeline
  • CommonLimitWaitForwardPipeline
  • CommonReversePipeline
    • 逆向套利(dex->cex)流水线抽象类默认实现
  • DebugReversePipeline
    • 调试用
  • WithdrawAndSellPipeline
    • Cex账户留币策略时触发:当账户留币且链上价格比交易所高时,提现->dex->卖出
  • DepositAndSellPipeline
    • Dex留币策略触发:钱包中留币且交易所价格大于链上:充币->cex->卖出
  • OnlySwapInChainPipeline
    • Dex留币策略触发:钱包中留币且链上价格高于Cex:卖出
  • SolanaReversePipeline
    • Solana逆向套利流水线
  • TransactionRecordFactory

Job 组成部分

异步任务,优先使用websocket取数,如cex不支持则使用rest方式,rest调用一定要实现限频策略,具体见Xchange

  • BalanceRest200msJob
    • 每200ms 调rest接口取余额;
  • ChainAccountMonitor10mJob
    • 每10分钟 监控链上账户余额;
  • CleanBalance1mJob
    • 每1分钟 扫描账户符合条件触发留币策略
  • ConsumerMiddleCoinBuyAndSellJob
    • 三角套利时,中间币消耗情况入库,订阅的交易所购买中间币(目前BNB,SOL)
  • FundingRecordRest200msJob
    • 每200ms 调rest接口取充提记录监控充提状态;
  • LoaderDataContextMonitor1sJob
    • 最初构想用来存储下单时,当前depth,ticker,orderbook等数据,数据量太大,有条件的情况下上nosql, 就不入db了;
  • PendingPlaceOrderJob
    • 定时扫描未完成订单,并尝试重试
  • ResetSymbolConfigJob
    • 重置套利币本配置
  • RiseMonitorRest10sJob
  • SelfOrderRest100msJob
Author

Gavin

Posted on

2024-10-15

Updated on

2024-10-15

Licensed under

Comments