+
Skip to content

cakevm/kabu

Kabu

⚠️ WARNING: This codebase is under heavy development and far from ready for production use.

The code is currently being actively refactored and modernized. Many features are incomplete, broken, or subject to breaking changes without notice. It is a long road from custom types to reth node types and using all providers from reth. With limited time, it will take a while. In the meantime, feel free to join the Telegram group for discussion.

What is Kabu?

Kabu is a backrunning bot, currently under heavy development. It continues the journey of loom. Since then many breaking changes have been made to revm, reth and alloy. The goal here is to make everything work again and modernize the codebase. Currently, Kabu is a work in progress and not yet ready for production use.

Who is Kabu for?

For everyone that does not like to reinvent the wheel all the time. Have foundation to work with, extend it, rewrite it or use it as playground to learn about MEV and backrunning.

Kabu is opinionated

  • Kabu will only support node (reth embedded) and remote (json-rpc).
  • We reuse as much as possible from reth, alloy and revm

Roadmap

  • Remove KabuDataTypes
  • Remove Actor model and use trait based components like in reth ✅
  • Remove topology and simplify the config / codebase ✅
  • Refactor the extra db pool cache layer to make it optional 🛠️
  • Have components that can be replaced with custom implementations 🛠️
  • Make complex arb strategies work

Kabu contract

Find the Kabu contract here.

Why "Kabu"?

In Japanese, kabu (株) means "stock" — both in the financial sense and as a metaphor for growth.

Setup

Prerequisites

  • Rust
  • Optional: PostgreSQL (for database)
  • Optional: InfluxDB (for metrics)
  • RPC node (e.g. your own node)

Building Kabu

# Development build
make
# Release build (optimized)
make release
# Maximum performance build
make maxperf

Configuration

Kabu supports two modes:

  • Remote mode: Connect to an external Reth or Geth node via RPC
  • Node mode: Run with reth embedded with direct access to node internals and db [PREFERRED]

Acknowledgements

Many thanks to dexloom! This project is a hard-fork from loom, based on this branch. The flashbots crate is fork of ethers-flashbots. The uniswap-v3-math crate is a fork of uniswap-v3-math. Additionally, some code for the Uniswap V3 pools is derived from amms-rs. Last but not least, a big shoutout to Paradigm — without their work, this project would not have been possible.

License

This project is licensed under the Apache 2.0 or MIT.

About

Kabu is a high-performance backrunning bot written in Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Contributors 8

Languages

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载