Getting started
This monorepo contains some of the early work we did to build an EIP-4337 compatible smart contract wallet for mobile. Although the app is no longer supported, we are still committed to pushing account abstraction and web3 UX forward! To see what we are currently working on check out docs.stackup.sh.
Prerequisites tools
We use the following system tools to help run Stackup locally:
- Node JS
^14
- Yarn
~1.22.17
- Docker
- Xcode
- Android Studio
For Xcode and Android Studio, see react native environment setup.
This monorepo uses Yarn workspaces and Lerna to manage it's apps and packages. All commands can be called from the project root.
Install dependencies
Run the following command to install and link all the required app dependencies.
$ yarn install
If you're planning on running the IOS app.
$ yarn install:ios
Apps
Stackup is built from the combination of multiple apps. See the README.md
files in the following directories for more details.
Backend
- Contracts - A collection of solidity smart contracts for Stackup.
- Explorer - Service for fetching blockchain data for an address.
- Backup - Service for providing encrypted and non-custodial backup of wallets.
- Bundler - Service for forwarding UserOperations to the EntryPoint.
- Notification - Service for sending push notifications.
Frontend
- Mobile - A mobile native frontend for IOS and Android.
Shared libraries
- Config - Shared configuration used across all Stackup apps.
- WalletJS - A library of helper functions for interacting with ERC-4337 accounts.
License
Distributed under the GPL-3.0 License. See LICENSE for more information.
Contact
Feel free to direct any technical related questions to the dev-hub
channel in the Stackup Discord.