Skip to content

atmcoin/brd-mobile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fabriik

Fabriik is the best way to get started with bitcoin. Our simple, streamlined design is easy for beginners, yet powerful enough for experienced users.

Cutting-edge security

Fabriik utilizes the latest mobile security features to protect users from malware, browser security holes, and even physical theft. On Android The user’s private key is encrypted using the Android Keystore, inaccessible to anyone other than the user. On iOS the user’s private key is stored in the device keychain, secured by Secure Enclave, inaccessible to anyone other than the user. Users are also able to backup their wallet using iCloud Keychain to store an encrypted backup of their recovery phrase. The backup is encrypted with the BRD app PIN.

Designed with New Users in Mind

Simplicity and ease-of-use is Fabriik's core design principle. A simple recovery phrase (which we call a recovery key) is all that is needed to restore the user's wallet if they ever lose or replace their device. BRD is deterministic, which means the user's balance and transaction history can be recovered just from the recovery key.

Features

  • Supports wallets for Bitcoin, Bitcoin Cash, Ethereum and ERC-20 tokens, Ripple, Hedera, Tezos
  • Single recovery key is all that's needed to backup your wallet
  • Private keys never leave your device and are end-to-end encrypted when using iCloud backup
  • Save a memo for each transaction (off-chain)

Bitcoin Specific Features

About brd-mobile

This repository is the Fabriik Mobile monorepo for iOS and Android, powered by a collection of Kotlin Multiplatform Mobile (KMM) modules codenamed Cosmos.

Cosmos breaks down into many modules that are bundled to produce a final Jar/AAR and Framework for mobile projects. Each module contains only code related to a single feature, helping keep the project organized and improve incremental build times.

Modules

The following modules are available, click on the name to learn more.

  • cosmos-core Internal shared utilities for all other modules to leverage.
  • cosmos-brd-api-client A Hydra compatible API wrapper for Kotlin and Swift.
  • cosmos-bundled Depends on all other modules to produce final dependency artifacts.

Mobile Applications

  • brd-android A collection of gradle modules to build BRD Android.
  • brd-ios xcode project containing BRD iOS, pre-configured to build and link Cosmos.

Development

Prerequisites

Setup

  1. Clone this repository git clone [email protected]:atmcoin/brd-mobile.git --recurse-submodules
  2. Open the Cosmos folder using Intellij IDEA or Android Studio
  3. (iOS Development) Open the brd-ios/breadwallet.xcworkspace file in xcode

Advanced Setup

(Android) Firebase

To enable Firebase services like Crashlytics, add the google-services.json file into the brd-android/app directory. Without this file, runtime Firebase dependencies are still used but do not start and the Google Services gradle plugin is disabled so builds will succeed.

Gradle Tasks

Here is a list of the most useful gradle tasks available. For a comprehensive list of tasks run ./gradlew tasks or ./gradlew :<module-name>:tasks.

Build

# Build, test, and package all modules
./gradlew build
# Run all quality checks
./gradlew check
# Assemble BRD Android
./gradlew brd-android:app:assemble

Tests

# Run all tests, in all modules
./gradlew allTest
# Run all tests, in a single module
./gradlew :cosmos-brd-api-client:allTest
# Run Jvm tests
./gradlew jvmTest
# Run iOS Simulator tests
./gradlew iosX64Test

Packaging

# Package Jvm artifacts
./gradlew jvmJar
# Package iOS Frameworks (Simulator)
./gradlew linkDebugFrameworkIosX64 linkReleaseFrameworkIosX64
# Package iOS Frameworks (Device)
./gradlew linkDebugFrameworkIosArm64 linkReleaseFrameworkIosArm64

WARNING:

Installation on jailbroken devices is strongly discouraged.

Any jailbreak app can grant itself access to every other app's keychain data. This means it can access your wallet and steal your bitcoin by self-signing as described here and including <key>application-identifier</key><string>*</string> in its .entitlements file.


Fabriik is open source and available under the terms of the MIT license.

Source code is available at https://github.com/atmcoin

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 49.7%
  • Kotlin 39.6%
  • Java 10.0%
  • Shell 0.3%
  • HTML 0.3%
  • C 0.1%