Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dvisacker/evm-projects
https://github.com/dvisacker/evm-projects
artemis ethereum evm mev rust
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/dvisacker/evm-projects
- Owner: Dvisacker
- License: mit
- Created: 2024-08-22T12:05:27.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-01-09T09:44:47.000Z (11 days ago)
- Last Synced: 2025-01-09T10:37:15.810Z (11 days ago)
- Topics: artemis, ethereum, evm, mev, rust
- Language: Rust
- Homepage:
- Size: 19.6 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# EVM projects
Various crates and binaries to trade and interact with EVM chains.
The event and blocks pub/sub engine is originally forked from [Artemis](https://github.com/paradigmxyz/artemis).
## Project Structure
```
/
├── bin/ # Binary crates (bot, cli, swap)
├── crates/ # Core library crates
│ ├── addressbook/ # Blockchain address management
│ ├── amms/ # AMM integrations
│ ├── engine/ # Core engine
│ ├── bindings/ # Contract bindings (rust interfaces)
│ ├── db/ # Database interface
│ ├── encoder-client/ # Blockchain transaction encoding
│ ├── executor-binding/ # Executor contract binding
│ ├── odos-client/ # Odos protocol client
│ ├── provider/ # Blockchain provider
│ ├── shared/ # Shared utilities
│ ├── strategies/ # Strategy folder
│ └── types/ # Common types
├── contracts/ # Smart contracts
└── docker/ # Docker configuration
```## Getting Started
### Prerequisites
- Rust 1.70 or higher
- Docker (optional)
- Access to Ethereum nodes or providers### Installation
2. Copy the example environment file:
```bash
cp .env.example .env
```3. Configure your environment variables in `.env`
4. Build the project:
```bash
cargo build --release
```### Running the Bot
1. Using the CLI:
```bash
cargo run --bin cli -- --help
```2. Using Docker:
```bash
docker-compose up -d
```## Configuration
The bot can be configured through:
- Environment variables (`.env` file)
- Command-line arguments
- Configuration filesSee `.env.example` for available configuration options.
## Development
### Adding New Strategies
1. Create a new crate in `crates/strategies/`
2. Implement the strategy traits from `engine`## License
This project is dual-licensed under:
- MIT License ([LICENSE-MIT](LICENSE-MIT))## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Open a Pull Request## Disclaimer
This software is for educational purposes only. Do not use it to exploit blockchain networks or engage in harmful MEV practices. Users are responsible for ensuring compliance with all applicable laws and regulations.