All Projects → blockchain → My Wallet V3 Android

blockchain / My Wallet V3 Android

Licence: agpl-3.0
Blockchain Android Wallet

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to My Wallet V3 Android

Blockchain
区块链技术
Stars: ✭ 28 (-92.13%)
Mutual labels:  ethereum, bitcoin, wallet
Multicurrencywallet
Bitcoin, Ethereum, ERC20 crypto wallets with Atomic Swap exchange. Release announce: https://twitter.com/SwapOnlineTeam/status/1321844352369500160
Stars: ✭ 136 (-61.8%)
Mutual labels:  ethereum, bitcoin, wallet
Miner Monitor
Miner, balance, wallet and pool monitoring software
Stars: ✭ 38 (-89.33%)
Mutual labels:  ethereum, bitcoin, wallet
Ledgerjs
Ledger's JavaScript libraries
Stars: ✭ 397 (+11.52%)
Mutual labels:  ethereum, bitcoin, wallet
Blockchainwallet Crypto
比特币、以太坊公私钥生成以及签名,长时间不维护可移步 https://github.com/QuincySx/ChainWallet
Stars: ✭ 183 (-48.6%)
Mutual labels:  ethereum, bitcoin, wallet
Awesome Coins
₿ A guide (for humans!) to cryto-currencies and their algos.
Stars: ✭ 3,469 (+874.44%)
Mutual labels:  ethereum, bitcoin, wallet
Cated
CATEd - Cryptocurrency Analytics and Trading Engine for Django
Stars: ✭ 84 (-76.4%)
Mutual labels:  ethereum, bitcoin, wallet
Ethereumkit
EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum.
Stars: ✭ 400 (+12.36%)
Mutual labels:  ethereum, bitcoin, wallet
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (-49.44%)
Mutual labels:  ethereum, bitcoin, wallet
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (-53.65%)
Mutual labels:  ethereum, bitcoin, wallet
Airgap Wallet
The AirGap Wallet is installed on an everyday smartphone. This app has only access to public information.
Stars: ✭ 78 (-78.09%)
Mutual labels:  ethereum, bitcoin, wallet
Edge React Gui
Edge Wallet React Native GUI for iOS and Android
Stars: ✭ 303 (-14.89%)
Mutual labels:  ethereum, bitcoin, wallet
Peatiocryptoexchange
An open-source Crypto-Currency exchange. Peatio v3.0 Coming Soon !
Stars: ✭ 141 (-60.39%)
Mutual labels:  ethereum, bitcoin, wallet
My Wallet V3 Frontend
Blockchain Web Wallet Frontend
Stars: ✭ 192 (-46.07%)
Mutual labels:  ethereum, bitcoin, wallet
My Wallet V3
Blockchain Web Wallet Library - https://support.blockchain.com
Stars: ✭ 342 (-3.93%)
Mutual labels:  ethereum, bitcoin, wallet
Trezor Mcu
🔒 Don't use this repo, use the new monorepo instead:
Stars: ✭ 315 (-11.52%)
Mutual labels:  bitcoin, wallet
Qksms
The most beautiful SMS messenger for Android
Stars: ✭ 3,519 (+888.48%)
Mutual labels:  rxjava2, dagger2
Web3j Sample
web3j 样例程序
Stars: ✭ 317 (-10.96%)
Mutual labels:  ethereum, wallet
Squeezer
Squeezer Framework - Build serverless dApps
Stars: ✭ 3,242 (+810.67%)
Mutual labels:  ethereum, bitcoin
Applocker
🔐 Open source app locker, vault, call blocker application
Stars: ✭ 321 (-9.83%)
Mutual labels:  rxjava2, dagger2

My-Wallet-V3-Android

CircleCI

Coverage Status

Next-generation HD (BIP32, BIP39, BIP44) bitcoin, ethereum and bitcoin cash wallet.

Getting started

Install Android Studio

Download from Android Studio. Make sure to install the command line tools as well. After installing AS, open it and install API 28 (current compileSdkVersion) and 29 (current targetSdkVersion) from Preferences -> Appearance & Behavior -> System Settings -> Android SDK. Install Oracle JDK for Gradle command line tools.

Required: Run the quickstart script from a bash terminal at the base of the project; ./scripts/quick_start.sh this will install the necessary dependencies for the project to compile successfully.

Optional: Run the bootstrap script from terminal via scripts/bootstrap.sh. This will install the Google Java code style as well as the official Android Kotlin code style and remove any file header templates. The script may indicate that you need to restart Android Studio for it's changes to take effect.

Install homebrew

https://brew.sh/

Setting up SSH for GitHub

Follow this for generating your SSH key and adding it to your GitHub account.

Automatic Git Commit Signing

Install System Packages

# Install GPG
brew install gpg

# Install Pinentry for storing the passphrase in the keychain
brew install pinentry-mac

Generate the key via gpg --full-generate-key When asked:

  • press enter to choose RSA / DSA (default)
  • Key size 4096
  • Key valid for 0 (indefinitely)
  • Add your name on GitHub
  • Add your blockchain email address

Configuring Git to sign automatically

Take the second line below “pub”, i.e. long string with hex string (this is the key_id)

git config --global user.signingKey key_id
git config --global commit.gpgSign true
git config --global gpg.program gpg

# Setting up the gpg agent to use the keychain
echo "pinentry-program /usr/local/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf

# You may need to restart the agent
gpgconf --kill gpg-agent

Configuring Github to recognize the key

Go to GitHub -> Profile -> Settings -> SSH and GPG keys -> new GPG key Get your public key by running

# where key_id as before
gpg --armor --export key_id | pbcopy

Install XCode command line tools

This is required in order to be able to use fastlane bundle commands

xcode-select --install

Setting up fastlane

We use fastlane for automating building, signing, testing and uploading to Appcenter and to the Play Store. The settings are stored in the fastlane directory. The preferred way of installing fastlane is via the Gemfile

[sudo] bundle install

To update fastlane use

[sudo] bundle update fastlane

after which you need to commit the changes (typically the Gemfile, Gemfile.lock and the configuration files in the fastlane directory).

Alternatively you can install it via Homebrew

brew install fastlane

fastlane init

Once fastlane is setup, you can find the available lane commands and their description in ./fastlane/README.md file.

Using fastlane

You can run any of the lane tasks defined in the ./fastlane/FastFile (summary in the fastlane README.md)

# The <options> are given in the format of key1:value1 key2:value2 and so on
bundle exec fastlane <lane> <options>

# Alternative, the bundle is preferred
fastlane <lane> <options>

Runing the unit tests

bundle exec fastlane execute_tests

Troubleshooting

Sometimes the XCode developer tools doesn't find the relevant headers to build and install the necessary gems. In this case use the following command to compile the required gem:

sudo xcrun gem install <gem_name> -v <gem_version> --source 'https://rubygems.org/'

Example:

sudo xcrun gem install unf_ext -v '0.0.7.7' --source 'https://rubygems.org/'

Building

Clone the Android Repository. Make sure your repository is on develop. Import it as an Android Studio project (File -> Open).

Configuration files

The following files can be found in Android Configuration Files:

  • Secrets properties file - Contains API keys and the various combinations of production/staging/testnet/dev URLs.
  • Environment files - root env folder and total of 3 google-services.json files.

You can get the latest configuration files by running

 bundle exec fastlane credentials

Or manually cloning the Android Configuration Files repository and then moving the secrets.properties (file extension should be properties only) into ./app as well as unzipping the env.zip file, deleting ./app/src/env and then moving the unzipped env folder to ./app/src/.

Select the envStagingDebug variant from Build Variants (bottom left corner in AS) since dev is quite unstable, then hit Build -> Make Project. For Dev and Staging access you'll need VPN access.

Common Errors

Execution failed for task :app:processEnv...GoogleServices

  • Make sure to delete ./app/src/env and then move the unzipped env folder to ./app/src/.
  • Make sure ./app/src/env/ only contains directories (there shouldn't be any json file there)

Contributions and Code Style

All new code must be in Kotlin. We are using the official Kotlin style guide, which can be applied in Android Studio via Preferences -> Editor -> Code Style -> Kotlin -> Set from -> Predefined style -> Kotlin Style Guide. It should be noted that this is not currently the default in Android Studio, so please configure this if you have recently reinstalled AS. Alternatively, simply run the bootstrap script and ktlint will configure your IDE for you.

All code must be tested if possible, and must pass CI. Therefore it must introduce no new Lint errors, and must pass Ktlint. Before committing any new Kotlin code it is recommended formatting your files in Android Studio with CMD + ALT + L and running ./gradlew ktlint locally. You can if you so wish run ./gradlew ktlintFormat which will fix any style violations. Be aware that this may need to be run twice to apply all fixes as of 0.20.

Commit message style

Use git change log style.

Where you have access to Jira, you should apply the git hooks with ./gradlew installGitHooks. This enforces the git change log style with Jira references.

Security

Security issues can be reported to us in the following venues:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].