tomusdrw / rust-web3

Ethereum JSON-RPC multi-transport client. Rust implementation of web3 library. ENS address: rust-web3.eth
MIT License
1.44k stars 468 forks source link

Add an option to run without depending on openssl #706

Open Pzixel opened 10 months ago

Pzixel commented 10 months ago

I think rust-web3 is a great crate. However, there is an issue that crate currently has a hard depndency on openssl when using wss subscriptions.

ws-tls-tokio = ["async-native-tls", "async-native-tls/runtime-tokio", "ws-tokio"]
ws-tls-async-std = ["async-native-tls", "async-native-tls/runtime-async-std", "ws-async-std"]

It would be highly beneficial in my opinion to add an option to use async_rustls instead of async-native-tls. Currently using http-rustls-tls doesn't make a lot of sense because native tls will be used anyway and it's always better to stick to one option, so choice is not really a choice in this case. async-native-tls is also described as a temporary solution but it's been 3 years already, so maybe it's time to revisit this decision.

I would be happy to provide my help/advice if you agree with what's been said.

Pzixel commented 10 months ago

687 looks like it is, any plans on merging it?