No description
  • JavaScript 50.9%
  • TypeScript 47.4%
  • HTML 1.1%
  • CSS 0.6%
Find a file
2026-10-15 17:32:50 +08:00
public working expo 50 build... 2025-06-15 15:32:15 +08:00
scripts fix: http permissions. 2026-07-09 19:32:27 +08:00
src feat: is wallet ready flag 2026-10-15 17:32:50 +08:00
.gitignore feat: dapp store and dapp demo 2026-06-06 17:33:46 +08:00
.watchmanconfig working expo 50 build... 2025-06-15 15:32:15 +08:00
app.json working in expo go 2025-06-15 16:49:15 +08:00
babel.config.js working in expo go 2025-06-15 16:49:15 +08:00
index.js working in expo go 2025-06-15 16:49:15 +08:00
package.json feat: dapp store work 2026-06-12 15:46:42 +08:00
README.md feat: Implement test function in litheum-wasm and call from LitheumWallet 2026-02-17 15:50:48 +08:00
tsconfig.json working expo 50 build... 2025-06-15 15:32:15 +08:00
webpack.config.js working expo 50 build... 2025-06-15 15:32:15 +08:00
yarn.lock feat: dapp store work 2026-06-12 15:46:42 +08:00

LitheumWallet

This project is a React Native frontend which uses React Native for Web to create a user experience that's unified across mobile and desktop (browser extension). We then will need a facade backend interface which communicates with the browser in our browser extension or communicates with our own WebView embedded in the React when we're on mobile. We also need to integrate all popular hardware wallets with this wallet.

Let's get started with just trying to create a basic React Native Hello World, which we can deploy as a browser extension. I see this as the most challenging and questionable part of this architecture, and I would like to see a proof of that working immediately.

Dev Environment

Setup

nvm install 20.18.0 && nvm use 20.18.0
npm uninstall -g expo-cli
npm i @expo/cli
yarn expo install expo-dev-client
yarn install
# yarn expo prebuild ##???? wtf is this

To upgrade expo:

npx expo install --fix
yarn expo start --clear
yarn expo start --dev-client --no-minify
yarn expo start --dev-client

Dev

start the development server:

yarn run web --clear

Make sure to press S to switch to Expo Go if needed. Click through any https error in the browser and click through to Expo Go.

React Native, like most javascript ecosystem frameworks is horrible so you may need to do:

sudo launchctl limit maxfiles 65536 200000

Build the web version:

yarn build:web

Extension Dev

Package it as a browser extension:

yarn build:extension

In Chrome:

  • chrome://extensions/
  • Enable "Developer mode"
  • Click "Load unpacked"
  • Select the extension directory that will be created after building

If you make changes to the service worker (serviceWorker.js) you need to refresh it in your Manage Extensions interface in Chrome!