A React Native digital credential wallet app built with Expo and @hDCX/wallet-core
.
- Node.js 18 or later
- pnpm 8 or later
- Expo CLI (
pnpm install -g expo-cli
) - Expo Development Build mode Docs
- Physical iOS/Android device for testing BLE and NFC features
- Clone the repository
git clone https://github.com/hopae-official/hDCX-sample-wallet.git
cd hDCX-sample-wallet
-
Setup environment as Expo
Development build
mode Docs -
Install pnpm (if not installed)
npm install -g pnpm
- Install dependencies
pnpm install
- Start the development server
pnpm start
- Run on devices
- iOS Simulator/Device
pnpm ios:device
- iOS Simulator
pnpm ios
- Android Device
pnpm android:device
- Android Emulator
pnpm android
- Configure EAS
# Login to your Expo account
eas login
# Configure the project
eas build:configure
- Build for development
# iOS development client
eas build --profile development --platform ios
# Android development client
eas build --profile development --platform android
- Build for production
# iOS
eas build --platform ios
# Android
eas build --platform android
- Submit to stores
# iOS App Store
eas submit --platform ios
# Google Play Store
eas submit --platform android
- Credential issuance and verification
- Secure credential storage and management
- VC Verification via Proximity(NFC/BLE) connection
- Reset Metro bundler cache
pnpm reset-project
- Development client issues
# Rebuild development client
eas build --profile development --platform ios
eas build --profile development --platform android
- Clean build files
# iOS
cd ios
pod deintegrate
pod install
cd ..
# Android
cd android
./gradlew clean
cd ..
- Expo SDK 53
- React Native 0.79.2
- BLE Communication (react-native-ble-plx)
- NFC Communication (react-native-nfc-manager)
- Secure Storage (expo-secure-store)
- Credential Management (@hDCX/wallet-core)
├── app/ # Expo Router app directory
├── components/ # Reusable components
├── contexts/ # React contexts
├── hooks/ # Custom React hooks
├── sdk/ # Wallet SDK implementation
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
The app requires specific environment variables for different environments. Create the following files:
.env.development
- Development environment variables.env.staging
- Staging environment variables.env.production
- Production environment variables
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.