Near<>ETH Tunnel
This project is the first end-to-end functional front-end implementation of a Near wallet that can interact with any EVM dApp using Chain Signature (via Wallet Connect). Having this tunnel allows Near Wallets to seamlessly connect to and interact with any EVM dApp and sign transaction payloads from their Near Wallet (supports eth_sign, personal_sign, eth_signTypedData_v* and eth_sendTransaction). This is compatible with a Generic Near Wallet Selector (tested with Mintbase Wallet & MyNearWallet).
Challenges you ran into
There were several hurdles with near wallets (as they are browser wallets) and page state is lost after redirect to sign and send the near transaction payload. The unsigned transaction data and wallet connect session was a slight challenge to persist between page redirects (solved using local storage to re-instantiate lost state) and recover the signature for the near-signed EVM transaction.
As a back-end developer, most challenges were merely a lack of technical ability in next JS and recruiting assistance.
Technology used
- Front End: next-js (scaffolding from a Mintbase Template – initial commit)
- Backend Tech: Uses Near Chain Signatures via the near-ca library. The library handles transaction payload transformations and relay routers.