2.0.1 • Published 2 months ago

@solana-mobile/solana-mobile-expo-template v2.0.1

Weekly downloads
-
License
-
Repository
-
Last release
2 months ago

Solana Mobile Expo Template

This template is a ready-to-go Expo dApp that offers:

  • Pre-installed standard SDKs like Mobile Wallet Adapter and @solana/web3.js
  • Required polyfills like react-native-get-random-values and Buffer installed.
  • Simple React UI Components like ConnectWalletButton, RequestAirdropButton, SignMessageButton.

This is only fully functional on Android.

Tech Stack

  • Mobile Wallet Adapter for connecting to wallets and signing transactions/messages
  • web3.js for constructing transactions and an RPC connection client.

Prerequisites

  • An Expo account.
  • React Native and Android Envrionment setup
    • An Android device/emulator.
    • Install an MWA compliant wallet app on your device/emulator.

Usage

Initialization

Initialize the template with:

yarn create expo-app --template @solana-mobile/solana-mobile-expo-template

Choose your project name then navigate into the directory.

Build and run the app

Follow the "Running the app" section in the Expo Setup guide to launch the template as a custom development build.

Troubleshooting

  • Metro has encountered an error: While trying to resolve module @solana-mobile/mobile-wallet-adapter-protocol...

    • This is an on-going issue when using npm install to install the Expo template.
    • To mitigate, clean your project dependencies and reinstall with yarn install
  • The package 'solana-mobile-wallet-adapter-protocol' doesn't seem to be linked. Make sure: ...

  • failed to connect to...

    • This is an Expo error that can occur when trying to connect to the dev server on certain Wifi networks.
    • To fix, try starting the dev server with the --tunnel command (npx expo start --dev-client --tunnel)
  • Error: crypto.getRandomValues() not supported

    • This is a polyfill issue when trying to use certain functions from the @solana/web3.js in a React Native/Expo environment.
    • To fix, ensure your App properly imports and uses the polyfills like in this guide.
  • error Failed to load configuration of your project.
  • Looks like your iOS environment is not properly set:
    • You can ignore this during template initialization and build the Android app as normal. This template is only compatible with Android.
  • Usage Error: It seems you are trying to add a package using a https:... url; we now require package names to be explicitly specified.
    • This error happens on certain versions of yarn, and occurs if you try to initialize the template through the Github repo URL, rather than the npm package. To avoid this, use the @solana-mobile/solana-mobile-dapp-scaffold package as specified, or downgrade your yarn version to classic (1.22.x).
  • error Couldn't find the ".../@solana-mobile/solana-mobile-dapp-scaffold/template.config.js file inside "@solana-mobile/solana-mobile-dapp-scaffold" template.
    • This is a known error that occurs with certain versions of yarn (>= 3.5.0). It is fixed by running the cli command with the --npm flag or downgrading your version of yarn.