You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This crate contains the WalletConnect 1.0 client implementation the could be used by dApps in integrations.
3
+
4
+
## WalletConnect 1.0
5
+
For protocol details, see the technical specification: https://docs.walletconnect.com/tech-spec
6
+
7
+
## Usage
8
+
See "examples/web3.rs". The WalletConnect client implements the [ethers middleware](https://docs.rs/ethers/latest/ethers/providers/struct.Provider.html),
9
+
so one can call the Web3 JSON-RPC API methods: https://docs.walletconnect.com/json-rpc-api-methods/ethereum
10
+
after the client is linked with the external wallet.
11
+
12
+
You can use https://test.walletconnect.org/ for testing (not for production).
13
+
14
+
## Implementation
15
+
The implementation code is largely based off the unfinished WalletConnect Rust Client: https://github.com/nlordell/walletconnect-rs
16
+
The following major changes were made:
17
+
- The websocket implementation (originally `ws`) was replaced with `tokio-tungstenite` for better portability and compatibility with the async ecosystem.
18
+
- The cryptographic implementation (originally using `openssl`) was replaced with the [RustCrypto](https://github.com/RustCrypto) implementations in pure Rust
19
+
(given they are used elsewhere in the codebase as well as in major dependencies).
20
+
- The Ethereum transport implementation (originally using `web3`) was replaced with the `ethers` which is used elsewhere in the codebase. The extensibility of `ethers` allowed more Web3 methods to be reused.
0 commit comments