Nano
Discover Nano: digital money for everyday payments, businesses and the software we build. Explore wallets, the ecosystem and AI-agent integrations.
翻譯準備中
Edge React Native GUI for iOS and Android
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Edge is:
The React Native documentation contains detailed instructions on how to prepare your computer for React Native development. Follow the instructions in the "React Native CLI Quickstart" for your specific platform.
If you are using a Mac, follow both the iOS and Android target instructions. Otherwise, you only need the Android target instructions.
This project uses npm to manage Javascript dependencies (npm ships with Node).
cd edge-react-gui
npm ci
npm run prepare
npm start
This bundler process needs to run in the background, so feel free to run this in its own terminal window.
A public API key is built into the edge-core-js which can be used to build and test the Edge app. This key is severely rate limited and should not be used for production. For production use, get an API key by emailing [email protected].
npm run prepare creates config.json (non-secret) and keys.json (secret) with defaults. Set EDGE_API_KEY in keys.json to the key you received from Edge. To use the public API key, leave EDGE_API_KEY blank. If you still have a legacy env.json, run npm run split-env-json once to produce the two files.
npm run prepare.ios to generate the CocoaPods files. You will need to do this after the first install, and any time Xcode produces a The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation. error.edge-react-gui/ios/edge.xcworkspace in XcodeTo build, install, and start the app on a simulator or physical phone with USB debugging, run:
npm run android
Otherwise, to get an APK, do:
cd android
./gradlew assembleDebug
./app/build/outputs/apk/debug/app-debug.apkedge-react-gui/ios/edge.xcworkspace in Xcodecd android
./gradlew assembleRelease
./app/build/outputs/apk/release/app-release.apkThis repo includes several utility scripts that can be used in a CI/CD
environment to build and deploy a release version of the app. The
included Jenkinsfile utilizes all the scripts but you are free to
use them in your own CI environment.
Set BUILD_REPO_URL to the URL of an empty Git repo that will hold a version
file that will be auto updated to increment the version and build number. Then
run the following to update a local release-version.json file
npm run gitVersionFile
Update the project files based on the version in release-version.json
npm run updateVersion
The included deploy.ts is a script to automate building, signing, and deploying release builds of Edge. It provides the following:
deploy-config.sample.json to deploy-config.json and edit the parameters accordingly. You'll need a HockeyApp account to get ids and keysbundleToolPath in deploy-config.json to the path to the bundle tool .jar fileedge-react-gui/keystores/google-services.json and GoogleService-Info.plist into edge-react-gui/brew install cocoapods (use Homebrew, not gem install, so it survives Ruby upgrades)brew install xcbeautifyRun deploy
npm run deploy edge ios master
npm run deploy edge android master
This repo uses Fastlane to automate iOS code signing. The deploy script uses
fastlane match to install the signing certificates and provisioning profiles,
and to renew them automatically when they expire (see Certificate renewal
below).
Fastlane must be version 2.235.0 or newer (install or upgrade with
brew install fastlane). Older versions ignore --skip_confirmation during
match nuke, which blocks the automatic certificate renewal on an interactive
prompt.
Authentication uses an App Store Connect API key, not an Apple ID. Place the key
JSON at fastlane.json in the repo root (see the
App Store Connect API docs).
Then set the following environment variables and run npm run deploy as mentioned
above
BUILD_REPO_URL // Git repo used to store encrypted provisioning
// keys.
// Will be shared with the gitVersionFile.ts script
GITHUB_SSH_KEY // (Optional) SSH Key file to use when accessing
// BUILD_REPO_URL
MATCH_KEYCHAIN_PASSWORD // Password to unlock the current users keychain
MATCH_PASSWORD // Password used to encrypt profile information
// before being saved to the BUILD_REPO_URL
Apple signing certificates expire once a year. When fastlane match fails
because a certificate is no longer valid, the deploy script automatically nukes
that certificate type (revoking it on the Apple Developer Portal and wiping it
from BUILD_REPO_URL) and re-runs match to generate a fresh certificate and
provisioning profiles.
As with any modern React Native app, Flipper is the officially-supported debugging app. Use the "React Native Hermes Debugger" to debug Javascript running in the UI.
If you want to inspect Redux, you can install the redux-debugger plugin for Flipper, which this app supports.
Please follow the coding conventions defined in Edge Conventions