Closed liketurbo closed 7 months ago
Recently we've continued tonstack/adnl-rs and tonstack/lite-client libraries development. We plan to rewrite it to async traits and publish stable release soon.
Features list:
adnl-rs
lite-client
@hacker-volodya tbh, I don't think it's a good idea to have a separate crate for the lite client. Dapp developers would be forced to use both tonstack/lite-client and ston-fi/tonlib-rs and the latter already comes with the tonlibjson library, which can't be opted out, resulting your binary ending up with two lite server clients.
Besides, there already exists a great adnl client from tonlabs with good support, tonlabs/ever-adnl, upon which a lite client can be built relatively easily and integrated into ston-fi/tonlib-rs.
I don't think it's a good idea to have a separate crate for the lite client
It would be great for lite-client lib to support both tonlib-rs and everscale libs, allowing people to choose libraries which are most appropriate for their cases. So, separate crate is a good option.
Dapp developers would be forced to use both tonstack/lite-client and ston-fi/tonlib-rs and the latter already comes with the tonlibjson library, which can't be opted out, resulting your binary ending up with two lite server clients.
If I understand correctly, the goal is to replace tonlibjson. To do this, you have to adjust tonlib-rs code anyway. So, what's the difference between integrating code directly in tonlib-rs vs. making dependency on a separate crate?
Besides, there already exists a great adnl client from tonlabs with good support, tonlabs/ever-adnl
I don't think that it has "good support". Using git blame on client.rs, for example, shows that latest manual commits were in 2021. AFAIK, modern networking library is broxus/everscale-network, which doesn't support client-server ADNL.
If I understand correctly, the goal is to replace tonlibjson. To do this, you have to adjust tonlib-rs code anyway. So, what's the difference between integrating code directly in tonlib-rs vs. making dependency on a separate crate?
Sorry, I misunderstood you. In that case, either one will do ... although, I personally prefer the option of development within ston-fi/tonlib-rs.
Regardless, we need to open an issue and coordinate with the maintainer before we proceed with what's better 😊
Summary
Add a native lite client to tonlib-rs
Context
The lite client is a library used for interaction with the lite server. Currently, tonlib-rs utilizes tonlibjson from the main repository, incurring compilation and complexity costs.
References
Estimate suggested reward
TBD