Without ejecting, we're able to connect an Expo app to MetaMask via WalletConnect.
- Polyfilling NodeJS libraries within metro.config.js
- Creating and updating global.ts
- clone repo
- yarn install
- expo start
- scan QR code
Connect a native iOS/Android app using Expo to a MetaMask wallet using WalletConnect without ejecting
Without ejecting, we're able to connect an Expo app to MetaMask via WalletConnect.
Any chance we can have this updated to use a new version of Expo? It won't work with any of the newer versions of Expo.
[Unhandled promise rejection: Error: Mobile registry not yet ready.]
at node_modules/@walletconnect/react-native-dapp/dist/providers/WalletConnectProvider.js:194:34 in Object.assign$argument_1.connect
at node_modules/@walletconnect/react-native-dapp/dist/providers/WalletConnectProvider.js:192:29 in Object.assign$argument_1.connect
at WalletConnectExperience.tsx:24:11 in React.useCallback$argument_0
at node_modules/react-native/Libraries/Pressability/Pressability.js:697:17 in _performTransitionSideEffects
at node_modules/react-native/Libraries/Pressability/Pressability.js:634:6 in _receiveSignal
at node_modules/react-native/Libraries/Pressability/Pressability.js:528:8 in responderEventHandlers.onResponderRelease
Hi,
Thank you for making this repo. It is working on iOS and Android 10 and lower. Unfortunately it is not working on Android 11+ because they introduced package visibility and so if you don't add WalletConnect app visibility in the android manifest the app will not be able to see that any wallet app is installed in the phone and it will redirect to the browser.
See here for details.
Basically with Expo Managed you can't put this code in AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example"> [...] <queries> <intent> <action android:name="android.intent.action.VIEW" /> <data android:scheme="http"/> </intent> <intent> <action android:name="android.intent.action.VIEW" /> <data android:scheme="https"/> </intent> </queries> </manifest>
If you have any idea on what to do it would help me a lot. I would prefer not ejecting, but that seems the only possibility right now...
The code workes flawlessly on Expo Go SDK44, but when I generate a build with expo build:android
it doesn't work.
On clicking "Connect Wallet" it does not open MetaMask app, and on multiple clicks on the "Connect Wallet" button on the app, it opens browser and loads a 404 Error Link
Android Version: 12
Expo SDK: 44
Hi, I am trying to integrate this project into my react native app. However, I kept encountering this error.
[Unhandled promise rejection: Error: Secure random number generation is not supported by this browser.]
I've checked the package version, just want to ask how can I possibly fix it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.