Giter Club home page Giter Club logo

bitstore-ios's Introduction

BitStore

Build Status

BitStore is a simple and fast native iOS Bitcoin wallet.
It offers all the features you want but still provides an easy to use interface.
Private keys are generated on the device and stored securely in the Keychain.

AppStore: https://itunes.apple.com/us/app/bitstore/id890668158?ls=1&mt=8
Website:: http://bitstoreapp.com
Twitter:: https://twitter.com/BitStoreApp

image

Installation

API Keys are managed with cocoapods-keys.
You will need to add API keys for Chain.com (required) and Plesk analytics (optional):

pod keys set "Chain" "key" BitStore
pod keys set "Analytics" "key" BitStore

Open BitStore.xcworkspace.
You will see three schemas:

  • BitStore (will use the production server)
  • BitStore-Test (will use the test server & color the app red)
  • Tests (Unit xctest)

On the test server the stripe test servers will be used and only 0.0001 / 0.0002 / 0.0005 / 0.001 BTC will be transfered. Also the developer profile will be used for the APNs. Phone verification is skipped on the test server.

Server

Production bitstoreapp.com (96.126.120.117)
Test test.bitstoreapp.com (198.58.122.87)

Code Style

iOS

  • Method braces on same line
  • Tabs
  • Pointer * by the type no variable name (NSString* name)
  • xcode file structure should match the local file system
  • use l10n for localized strings, add them manually to the strings file

Concepts

The idea is to use listeners on most UI elements. So if the currency changes, all labels update. If the address data changes, all views are updated. With tableviews we just reload the hole table. At the moment there's no problem doing that, as we don't have huge tables.

Listeners don't have to be removed. As soon as the registered object becomes deallocated it will be removed.

Address

The user can own multiple addresses. A contact is also considered an address. The address object updates itself and notifies it's listeners.

Exchange

To get the current BTC / CUR exchange rate or the current selected currency, the ExchangeHelper will provide a listener registration method. The exchange also contains the selected unit.

Http requests

If you do any networking, use RequestHelper. Modify if it doesn't suit your needs.

Jobs

JobHelper makes it easy to add http requests that have to be performed successfully, but not immediatly. This is now used for registering to the push service or the unit change.

bitstore-ios's People

Contributors

d-32 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitstore-ios's Issues

Layout Bug iPhone 6

The layout of the transaction cell is wrong on an iPhone 6.
Shouldn't use the frame inside the init, rather use layoutSubviews.

TodayWidget "No Data"

One user reported seeing "No Data" in the TodayWidget. He was able to access the csv of bitcoinaverage on the same device.

img_1825

Today Widget

  • Add graph instead of send button
  • Open up QR inside widget

Scanner crash

Scanner crashes when scanning "bitcoin:ADDR", without a "?".

BIP 32 support?

It dosen't seem like the wallet support Hierarchical Deterministic Wallets, is this feature planned?

Together with BIP 39 it makes backups really easy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.