Skip to content

Commit f04bfd2

Browse files
committed
Initial publication of blocktrail-wallet source code.
0 parents  commit f04bfd2

File tree

3,859 files changed

+1317428
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,859 files changed

+1317428
-0
lines changed

.bowerrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"directory": "src/lib"
3+
}

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
node_modules/
2+
appconfig.json
3+
4+
platforms/android/assets/www/*
5+
platforms/ios/www/*
6+
platforms/ios/cordova/console.log
7+
platforms/android/CordovaLib/build

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Change Log
2+
3+
###Next Version
4+
5+
6+
###Version 1.0.14
7+
- fixed iOS 9 bug affecting navigation between screens
8+
9+
###Version 1.0.13
10+
- permission pruning: we've removed all the unnecessary permissions
11+
- fixed numeric keyboard bug on certain Samsung devices
12+
13+
###Version 1.0.12
14+
- fixed app rating button on "About" screen
15+
- for users experiencing issues with saving the backup during setup, we've added the option to save it later once we've fixed the bug properly
16+
- made side-menu scrollable for small mobile screens
17+
- various minor UI bug fixes
18+
19+
## Version 1.0.8
20+
- added support for bitcoin URIs - click on a bitcoin link to launch the app and send to the linked address
21+
- fixed jittery scrolling on receive screen
22+
23+
## Version 1.0.7
24+
- complete UI redesign
25+
- wallets V2
26+
- promo code redeem screen
27+
- syncing contacts to web wallet (available soon)

LICENSE.md

Lines changed: 661 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Blocktrail Mobile Wallet
2+
Take back control of your Bitcoin!
3+
BlockTrail's Bitcoin wallet features unparalleled security through MultiSignature technology, keeping you in full control of your coins at all time. Transactions are signed on your device so we never see your private keys.
4+
5+
With our HD wallets you can create an unlimited number of addresses to help protect your privacy without the need for multiple private key backups. Our system will also generate new addresses for change and fund requests automatically.
6+
7+
Access your wallet anywhere, anytime; use the mobile app when you're on the go, or log in to the web-interface when at home or in the office.
8+
9+
- 2-of-3 Multisig technology so you always remain in control of your coins
10+
- HD wallet technology allowing you to create an unlimited number of addresses
11+
- Send and Receive bitcoin easily with contacts on your phone
12+
- Live update for new transactions and your balance
13+
- View your full transaction history with the price at the time of the transaction
14+
- Personalise your account so your friends can quickly identify you
15+
- QR code scanning with bitcoin URI support
16+
- Send requests via email and SMS
17+
- PIN protection
18+
- Anonymous accounts, for your privacy
19+
- Transactions signed locally on your device
20+
- Backup document incase the worst happens
21+
- Local currency display using live price updates
22+
23+
## Install
24+
```
25+
npm install -g ionic-cli gulp
26+
npm install
27+
cp appconfig.example.json appconfig.json
28+
gulp
29+
```
30+
31+
## Run
32+
```
33+
ionic run android|ios
34+
```
35+
36+
## Release Process
37+
### Android
38+
```
39+
rm -rf platforms/android/build/outputs/apk/* # clean up old builds
40+
41+
ionic build --release android
42+
43+
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/blocktrail.keystore /work/blocktrail-wallet/platforms/android/build/outputs/apk/android-release-unsigned.apk blocktrail
44+
45+
zipalign -v 4 /work/blocktrail-wallet/platforms/android/build/outputs/apk/android-release-unsigned.apk /work/blocktrail-wallet/platforms/android/build/outputs/apk/blocktrail.apk
46+
```
47+
48+
### iOS
49+
In xCode build for archiving: Product > Archive
50+
Select new build in Archives Organiser and submitt to app store (optionally validate before hand)
51+
52+
### tips
53+
Remember to remove the old signed, zipped APK before running zipalign, it doesn't overrite the file.
54+
55+
## License
56+
The Blocktrail Wallet source code is released under the GNU Affero General Public License.
57+
The Blocktrail Logo and any other images / graphics are not part of this.
58+
See [LICENSE.md](LICENSE.md).

appconfig.default.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"DEBUG": false,
3+
"MINIFY": true,
4+
"TESTNET": true,
5+
"NG_CORDOVA_MOCKS": false,
6+
"POUCHDB_DRIVER": null,
7+
"API_HOST": "api.blocktrail.com",
8+
"API_HTTPS": true,
9+
10+
// default ionic apps keys for usage stats logging in development
11+
"IO_CONFIG": {
12+
"app_id": "ee6eae44",
13+
"api_key": "9e0747befc483f602b04ba0f938db9422800d917d25b1ee9"
14+
},
15+
16+
"DEFAULT_IDENTIFIER": "blocktrail-wallet",
17+
18+
"NULL": null // just here so we can have a trailing , on every line
19+
}

appconfig.example.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"DEBUG": true,
3+
"MINIFY": false,
4+
"TESTNET": true
5+
}

appconfig.prod.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"DEBUG": false,
3+
"MINIFY": true,
4+
"TESTNET": false,
5+
6+
"IO_CONFIG": {
7+
"app_id": "3dadf3bf",
8+
"api_key": "3b518a9f046fb61498ed39695700a1a2c6052260a729a376"
9+
},
10+
11+
"NULL": null // just here so we can have a trailing , on every line
12+
}

bower.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"name": "blocktrail-wallet",
3+
"private": "true",
4+
"dependencies": {
5+
"blocktrail-sdk": "[email protected]:blocktrail/blocktrail-sdk-nodejs.git#e12e5a4",
6+
"ionic": "1.0.1",
7+
"pouchdb": "[email protected]:blocktrail/pouchdb.git#blocktrail",
8+
"q": "1.2.0",
9+
"angular-moment": "~0.10.0",
10+
"browserify-cryptojs": "~0.3.1",
11+
"ngCordova": "[email protected]:blocktrail/ng-cordova.git#blocktrail",
12+
"angular-qr": "*",
13+
"angular-translate": "~2.7.0",
14+
"libphonenumber": "~0.9.0",
15+
"ngImgCrop": "~0.3.2",
16+
"intl-tel-input": "~6.0.0"
17+
},
18+
"resolutions": {
19+
"angular": ">= 1.2.23"
20+
},
21+
"devDependencies": {
22+
"ionic-service-core": "~0.1.10",
23+
"ionic-service-analytics": "~0.2.5"
24+
}
25+
}

config.xml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<widget id="com.blocktrail.mywallet" version="1.0.14" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
3+
<name>BlockTrail Wallet</name>
4+
<description>
5+
Your personal Bitcoin wallet, powered by Blocktrail
6+
</description>
7+
<author email="[email protected]" href="https://www.blocktrail.com/">
8+
BlockTrail Team
9+
</author>
10+
<content src="index.html"/>
11+
<access origin="*"/>
12+
<preference name="webviewbounce" value="false"/>
13+
<preference name="UIWebViewBounce" value="false"/>
14+
<preference name="DisallowOverscroll" value="true"/>
15+
<preference name="BackupWebStorage" value="none"/>
16+
<preference name="SplashScreen" value="screen"/>
17+
<preference name="SplashMaintainAspectRatio" value="true"/>
18+
<preference name="orientation" value="portrait"/>
19+
<platform name="android">
20+
<preference name="SplashScreenDelay" value="10000"/>
21+
<preference name="AutoHideSplashScreen" value="true"/>
22+
<preference name="android-minSdkVersion" value="17"/>
23+
<preference name="android-targetSdkVersion" value="22"/>
24+
</platform>
25+
<platform name="ios">
26+
<preference name="AutoHideSplashScreen" value="false"/>
27+
<preference name="ShowSplashScreenSpinner" value="false"/>
28+
</platform>
29+
<platform name="browser">
30+
<preference name="SplashScreen" value="resources/android/splash/drawable-port-xhdpi-screen.png"/>
31+
<preference name="SplashScreenDelay" value="10000"/>
32+
<preference name="SplashScreenBackgroundColor" value="green"/>
33+
<preference name="ShowSplashScreen" value="true"/>
34+
<preference name="SplashScreenWidth" value="600"/>
35+
<preference name="SplashScreenHeight" value="300"/>
36+
</platform>
37+
<platform name="android">
38+
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
39+
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
40+
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
41+
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
42+
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
43+
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
44+
<splash src="resources/android/splash/drawable-port-hdpi-screen.9.png" density="port-hdpi"/>
45+
<splash src="resources/android/splash/drawable-port-xhdpi-screen.9.png" density="port-xhdpi"/>
46+
<splash src="resources/android/splash/drawable-port-xxhdpi-screen.9.png" density="port-xxhdpi"/>
47+
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.9.png" density="port-xxxhdpi"/>
48+
</platform>
49+
<platform name="ios">
50+
<icon src="resources/ios/icon/icon.png" width="57" height="57"/>
51+
<icon src="resources/ios/icon/[email protected]" width="114" height="114"/>
52+
<icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
53+
<icon src="resources/ios/icon/[email protected]" width="80" height="80"/>
54+
<icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
55+
<icon src="resources/ios/icon/[email protected]" width="100" height="100"/>
56+
<icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
57+
<icon src="resources/ios/icon/[email protected]" width="120" height="120"/>
58+
<icon src="resources/ios/icon/[email protected]" width="180" height="180"/>
59+
<icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
60+
<icon src="resources/ios/icon/[email protected]" width="144" height="144"/>
61+
<icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
62+
<icon src="resources/ios/icon/[email protected]" width="152" height="152"/>
63+
<icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
64+
<icon src="resources/ios/icon/[email protected]" width="58" height="58"/>
65+
<icon src="resources/ios/icon/[email protected]" width="87" height="87"/>
66+
<splash src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136"/>
67+
<splash src="resources/ios/splash/Default-667h.png" width="750" height="1334"/>
68+
<splash src="resources/ios/splash/Default-736h.png" width="1242" height="2208"/>
69+
<splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
70+
<splash src="resources/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/>
71+
<splash src="resources/ios/splash/Default@2x~iphone.png" width="640" height="960"/>
72+
<splash src="resources/ios/splash/Default~iphone.png" width="320" height="480"/>
73+
</platform>
74+
<feature name="StatusBar">
75+
<param name="ios-package" value="CDVStatusBar" onload="true"/>
76+
</feature>
77+
<icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
78+
</widget>

0 commit comments

Comments
 (0)