Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

solana-stream-engine

solana-stream-engine — это Rust-библиотека.

Она получает TransactionEvent, содержащий transaction_id: String. Проверяет, валиден ли transaction_id, и если он невалидный, то возвращает ошибку InvalidSignature.

Если идентификатор валидный и уже встречался, движок возвращает Duplicate и не изменяет состояние. Если идентификатор раньше не встречался, движок сохраняет Signature и возвращает Accepted.

Current scope

Сейчас проект умеет:

  • принимать TransactionEvent;
  • валидировать transaction_id;
  • хранить принятые Signature в памяти;
  • определять повторные события по идентификатору транзакции;
  • возвращать Accepted, Duplicate или InvalidSignature;
  • проверять основную логику с помощью unit-тестов.

Current limitations

Сейчас в проекте нет:

  • async/Tokio;
  • Solana RPC;
  • Solana SDK;
  • базы данных;
  • постоянного хранения состояния;
  • HTTP/API сервера;
  • восстановления состояния после перезапуска.

Все принятые сигнатуры хранятся только в оперативной памяти.

Run

Запустить минимальный binary:

cargo run

Checks

Проверить форматирование:

cargo fmt --check

Запустить Clippy и считать warnings ошибками:

cargo clippy --all-targets --all-features -- -D warnings

Запустить все тесты:

cargo test --all

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages