Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bulk-trade/lothrandir
Transaction Engine powered by lite-rpc and yellowstone-grpc
https://github.com/bulk-trade/lothrandir
jupiter lite-rpc solana
Last synced: about 2 months ago
JSON representation
Transaction Engine powered by lite-rpc and yellowstone-grpc
- Host: GitHub
- URL: https://github.com/bulk-trade/lothrandir
- Owner: Bulk-trade
- Created: 2024-08-26T11:42:23.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-11-02T19:23:21.000Z (3 months ago)
- Last Synced: 2024-12-15T08:37:02.541Z (about 2 months ago)
- Topics: jupiter, lite-rpc, solana
- Language: TypeScript
- Homepage:
- Size: 240 KB
- Stars: 6
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Lóthrandir
Lóthrandir is a Transaction Engine powered by lite-rpc and yellowstone-grpc, is a service designed to handle and process transactions at high throughput. It interacts with various APIs and databases to fetch token prices, calculate transaction details, and store transaction information.
## Prerequisites
- Node.js (version 20 or later)
- pnpm (version 7 or later)
- Docker (optional, for containerized deployment)## Installation
1. Clone the repository:
```sh
git clone https://github.com/Bulk-trade/transaction-engine
cd transaction-engine
```2. Install dependencies:
```sh
pnpm install
```3. Set up environment variables:
- Create a [`.env`](command:_github.copilot.openRelativePath?%5B%7B%22scheme%22%3A%22file%22%2C%22authority%22%3A%22%22%2C%22path%22%3A%22%2FUsers%2Fmac%2FDesktop%2FBULK%2Ftransaction-engine%2F.env%22%2C%22query%22%3A%22%22%2C%22fragment%22%3A%22%22%7D%5D "/Users/mac/Desktop/BULK/transaction-engine/.env") file in the root directory and add the necessary environment variables. Refer to `.env.example` for the required variables.## Running the Application
### Using Node.js
1. Build the TypeScript code:
```sh
pnpm run build
```2. Start the application:
```sh
pnpm start
```### Using Docker
1. Build the Docker image:
```sh
docker build -t transaction-engine .
```2. Run the Docker container:
```sh
docker run -d -p 4000:4000 --env-file .env transaction-engine
```### Using Docker Compose
1. Start the services:
```sh
docker-compose up --build -d
```2. See realtime logs:
```sh
docker-compose logs -f
```3. Properly close the services:
```sh
docker-compose down
```## Development
1. Start the application in development mode:
```sh
pnpm run dev
```## Logging
Logs are stored in the [`logs`](command:_github.copilot.openRelativePath?%5B%7B%22scheme%22%3A%22file%22%2C%22authority%22%3A%22%22%2C%22path%22%3A%22%2FUsers%2Fmac%2FDesktop%2FBULK%2Ftransaction-engine%2Flogs%22%2C%22query%22%3A%22%22%2C%22fragment%22%3A%22%22%7D%5D "/Users/mac/Desktop/BULK/transaction-engine/logs") directory. You can view the logs by opening the [`logs/bulk.log`](command:_github.copilot.openRelativePath?%5B%7B%22scheme%22%3A%22file%22%2C%22authority%22%3A%22%22%2C%22path%22%3A%22%2FUsers%2Fmac%2FDesktop%2FBULK%2Ftransaction-engine%2Flogs%2Fbulk.log%22%2C%22query%22%3A%22%22%2C%22fragment%22%3A%22%22%7D%5D "/Users/mac/Desktop/BULK/transaction-engine/logs/bulk.log") file.
## License
This project is licensed under the ISC License.