Floresta icon indicating copy to clipboard operation
Floresta copied to clipboard

[SoB]: Move Async-std to Tokio

Open jaoleal opened this issue 10 months ago • 4 comments

Summer of Bitcoin 2024 Floresta Proposal

Description

Since Floresta is heavily based on async features to work properly and at the moment is using async-std, moving to Tokio is necessary for better development and maintenance.

Tokio

Is a Rust runtime that improves async in general and is well maintained than async-std. Providing better performance, ecosystem, features, scalability and etc...

Target Modules

the main modules(aka crates) that will avail and will be the focus of this issue is:

  • florestad

At /florestad Which is the Floresta node itself that implement all the crates in /crates directory.

  • floresta-electrum

At /crates/floresta-electrum/ The Floresta's Electrum implementation based on Electrum Protocol.

  • floresta-wire

At /crates/floresta-wire/ utreexo-aware wire protocol made for floresta, used to fetch blocks and transactions and to broadcast transactions

Good to read about

The State of async Rust Announcing libfloresta Floresta's rustdocs Tokio's docs

Expected results

  • no use of async_std in the mentioned Modules
  • wide use of Tokio crate
  • All test at /tests/run_test.py passes correctly

Mentor(s)

@Davidson-Souza

jaoleal avatar Apr 11 '24 17:04 jaoleal