Skip to content

Commit 95be55c

Browse files
authored
Problem: missing walletconnect information (fixes #134) (#136)
Solution: added back the walletconnect-related information
1 parent 5f0a18f commit 95be55c

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

wallet-connect/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# wallet-connect
2+
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

Comments
 (0)