相比于其他机器人,抢跑机器人对硬件的配置要求往往要更高。在这个模型中,你至少要有一个可以模拟主网交易的节点。
原文发布在 https://github.com/33357/smartcontract-apps这是一个面向中文社区,分析市面上智能合约应用的架构与实现的仓库。欢迎关注开源知识项目!
一个简单的抢跑机器人模型
相比于其他机器人,抢跑机器人对硬件的配置要求往往要更高。在这个模型中,你至少要有一个可以模拟主网交易的节点。
为了方便,可以把这个节点称为eth2。
机器人运行步骤
- 在mempool里监听所有正在pending的交易。
- 首先记录下发起这些pending交易的账户状态。
- 然后在eth2节点上模拟执行这些正在pending的交易。
- 如果执行之后发起交易的账户净资产(ETH、USDT等)增加,那么就可以使用机器人向eth2节点模拟执行相同的交易。
- 如果执行之后机器人的账户净资产(ETH、USDT等)也同样增加,就在主网上发出相同但gasPrice更高的交易,进行抢跑。
- 如果对方追加gasPrice,你就也要追加,直到交易确认或者最终无利可图。
这个简单抢跑机器人的问题:
- 这个机器人针对的是一些科学家为了方便起见直接将收益返还msg.sender的套利交易,只要对套利合约稍作保护,就可以避免被抢跑。
- 只能对一次调用就完成的套利交易进行抢跑。
- 只能对可以在链上完成收益计算的交易进行抢跑。