Skip to content
This repository has been archived by the owner on Sep 5, 2020. It is now read-only.

Commit

Permalink
Update Master to 0.7.5 (#816)
Browse files Browse the repository at this point in the history
* Remove old git diff tags

* updated nodes (#655)

* Upgrade code to work with Electron 1.0.1 (#651)

* Remove old git diff tags

* fix code to work with Electron 1.0.1

* Korean Translation (#645)

* Create app.kr.i18n.json

Korean Translation

* Create mist.kr.i18n.json

* Update app.kr.i18n.json

* Added mist.kr.i18n.json

Added Korean Translation

* Added Korean Translation - app.kr.i18n.json

Added Korean Translation

* Added Korean Translation -app.kr.i18n.json

Added Korean Translation

* Added Korean Translation - mist.kr.i18n.json

Added Korean Translation

* Added Korean (kr)

Added Korean (kr)

* fixed few Korean translation

fixed few Korean translation

* Update app.kr.i18n.json

* Update mist.kr.i18n.json

fixed some Korean translation

* fixed linux32 node path and binary (#665)

* Node startup and synchronization improvements (#559)

* remove commented-out code, cleanup

* work towards new socket system and ethereum nodes manager

* main: work towards finishing up node connection

* refactored node start code

* remove old ethereum nodes code

* get basic IPC connection to geth working

* rename socket to sockets

* - shift all node startup code into ethereumNode
- remove nodeConnector, shift its functionality into ethereumNode
- redo checkNodeSync to be more robust

* nodeSync needs to be able to emit events

* fixed a number of bugs, and finished sync rewrite. now need to test

* basic sync working

* slow down the sync check

* check that onboarding followed by sync works for testnet

* better log msgs, reduce socket disconnection timeout, fix bug

* sync is much more resilient now and auto-restarts if node changes

* ensure that switching network works once app is loaded

* add node 4 dep

* Fix menu items code

* improve tab resetting logic to happen before Mist crashes

* fix how we detect whether eth has started up, remove nodeConnector

* ensure can switch network type while syncing

* - Make sure it works when using Geth 1.4 (tested the Darwin x64 version).
- We now show network info in top-right of both splash screen and onboarding window

* Improved how we determine splash screen status messages. Now much more responsive to underlying connection process.

* Remove old git diff tags

* build windows management architecture, to avoid 'window already destroyed' errors

* replace popupWindow with Windows manager interface

* remove peer search timeout functionality and simplify splash screen logic

* remove now-redundant meteor package

* fix bugs and issues for electron 1.0 support

* got tx sending working again

* rename IPC message types

* added i18n support to networkIndicator element, added better highlighting

* dont auto-exit if startup fails - show logging info instead

* fix bug preventing distributable build

* fixes for electron 1.0, get wallet distributable working

* remove old redundant code

* Check for node startup error (#673)

* Remove old git diff tags

* check for geth fatal startup error

* more helpful error message if geth unable to bind to port

* UI Changes to network indicator (#675)

* untracked public/i18n (#692)

* small typo: some_where (#693)

* Remove old, redundant code (#674)

* Remove old git diff tags

* remove old redundant code

* Integrate #601 along with some improvements to IPC Path

* Remove old git diff tags

* integrate #601

* check for geth fatal startup error

* remove old redundant code

* UI Changes to network indicator

* merge

* updates nodes to 1.4.5

* update the menu string

* Pass custom CLI options to the Ethereum node (#689)

* integrate #601

* better cli arg parsingj

* better cli arg parsingj

* Simplify cliArgs API.

* update readme

* fix bug

* Nav bar glitch and new art for Mist (#696)

* Solves navbar glitch and adds new icon and splash screen art

* adds new splash screen art for Mist

* added a yellow tint to the image

* added node linux 32 (#711)

* added unlock and send (#700)

* Check for update at startup and inform the user if a new version is available (#707)

* refactor globals setup by preloader

* final version of update checker mechanism

* if in mist mode search for a mist update

* replace image ids with better system

* Remove dependency on node log output for detecting startup success (#706)

* remove dependency on node log output for detecting startup success

* only start the startup timeout once some data has been received

* Norwegian Bokmål translation (#705)

* bump version to 0.7.5

* Upgrade to web3 version in order to fix broken Send tx funtionality

* update web3 to npm version

* Suggestions and misspelling (#753)

A few suggestions for a slightly less informal translation.

* fixed preloader scripts

* changed file permissions back

* changed file permissions back

* Fix Mist/Wallet app bundling (#721)

* fix Mist/Wallet app bundling

* update electron-packager to 7.0.2

* Minor changes (#769)

Formal used also in the error message.

* Full translation in italian (#768)

File has been translated in Italian.

* start ci

* trigger build

* only build on node 4g

* fix deps

* test develop branch

* added alex and fabian to notification list

* corrected %appdata% path in readme (#776)

* Refactoring Dapp IPC connection (#724)

* work towards new ipc backend wrapper

* work towards refactoring ipc provider backend

* work towards refactor

* work towards refactoring request processing

* work towards new ipc backend wrapper

* work towards refactoring ipc provider backend

* work towards refactor

* work towards refactoring request processing

* improved web3ipcsocket logic, work towards request/response processing in provider backend

* split per-method handlers into separate files, dynamically loaded.
- fixed web3 ipc socket response handlng
- finalized sendRequest() initial draft

* rename generic to base
- fix bugs in use of socket

* enforce timeout of 0 for sockets

* work towards handling batch requests

* remove old provider backend

* fix batch result parsing

* fix numerous bugs, improve how window id gets set

* remove redundant error

* have a connection per webview rather than per-window

* defensive coding

* adds default wallet hosted by github (#767)

* adds default wallet hosted by github

* change to ethereum.org page, adds id to avoid inserting multiple times

* new icon

* Refactor splash screen (#772)

* Refactoring of the splash screen

* center the checking network message

* Show Start App button sooner

* update geth to 1.4.6 + win32 support (#784)

* update travis notification email addr

* Fix problem with geth node being detached (#789)

* fix node detaching, improve socket ipc backend connector

* launch app link should show straight away

* fix bug

* Changes to onboarding screen (#786)

* Fix bug that was preventing onboarding to start

* allows account creation to be skipped and checks passwords

* skip account page

* Added number animation to blocknumbers

* speed down to prevent hanging

* removes log and adds comments to code

* only math.floor the display block not the actual number

* adds shapeshift reference

* fix handling of array results

* fix handling of results - ensure json result is always set

* readme: beautify privatenet ipcpath

* fix remaining issues

* ensure error reponse doesn't include method and params

* upgrade to electron 1.2.2

* Fix the testnet label alignment (#792)

* fix the testnet label alignment

* on the onboarding, just show states as percentage

* fix web3.isConnected() issue

* fixes issue where onboarding screen would not appear

* fixed dragging

* adds a drag region to the mist sidebar (#820)

* download nodes

* added download-nodes

* remove unecessary packages

* remove unecessary drags

* added gulp update nodes to travis

* Update menu items label

* update eth to 1.2.9 (#825)
  • Loading branch information
Alex Van de Sande authored Jun 15, 2016
1 parent a082c4d commit 66e64ab
Show file tree
Hide file tree
Showing 162 changed files with 4,560 additions and 2,166 deletions.
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
.DS_Store
node_modules/
packages/
interface_build/
interface/public/i18n/
dist_wallet/
dist_mist/
dist_mist/
config.json
nodes/geth/
27 changes: 27 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
sudo: required
dist: trusty

language: node_js

branches:
only:
- develop

node_js:
- "4"

before_script:
- "npm install"
- "npm install -g [email protected]"
- "npm install -g meteor-build-client"
- "gulp update-nodes"

script:
- "npm test"

notifications:
email:
- [email protected]



35 changes: 30 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ you can simply run the executeable after download.
For updating simply download the new version and copy it over the old one (keep a backup of the old one if you want to be sure).
The data folder for Mist is stored in other places:

- Windows `%APPDATA%\Roaming\Mist`
- Windows `%APPDATA%\Mist`
- MacOSX `~/Library/Application Support/Mist`
- Linux `~/.config/Mist`

Expand All @@ -32,12 +32,16 @@ Once a Mist version is released the Meteor frontend part is bundled using `meteo

### Dependencies

Requires electron version 0.37.2 and Node.js version 4.3.0 or above.
Requirements:

* Electron v1.2.2
* Node v4.3.0 or above

To run mist in development you need [Node.js NPM](https://nodejs.org) and [Meteor](https://www.meteor.com/install) and electron installed:

$ curl https://install.meteor.com/ | sh
$ npm install -g [email protected]
$ npm install -g [email protected]
$ npm install -g gulp

### Installation

Expand All @@ -47,11 +51,13 @@ Now you're ready to install Mist:
$ cd mist
$ git submodule update --init
$ npm install
$ gulp update-nodes

To update Mist in the future, run:

$ cd mist
$ git pull && git submodule update
$ gulp update-nodes


### Run Mist
Expand Down Expand Up @@ -83,11 +89,27 @@ In the original window you can then start Mist using wallet mode:
$ electron . --mode wallet


### Passing options to Geth

You can pass command-line options directly to Geth by placing them after `--` in
the command-line invocation:

```bash
$ electron . --mode mist -- --rpcport 19343 --networkid 2
```


### Using Mist with a privatenet

To run a privatenet you need to have `geth` installed separately and run it with the `ipcpath` flag:
To run a private network you will need to set the `networkdid`, `ipcpath` and
`datadir` flags:

$ geth --networkid 1234 --ipcpath /Users/you/Library/Ethereum/geth.ipc --datadir ...
```bash
$ electron . -- --networkid 1234 --ipcpath ~/Library/Ethereum/geth.ipc --datadir ~/Library/Ethereum/privatenet
```

You can also run `geth` separately yourself with the same options prior to start
Mist normally.


### Deployment
Expand All @@ -108,6 +130,9 @@ To create a binaries you need to install the following tools:
To generate the binaries simply run:

$ cd mist
$ gulp update-nodes

// to generate mist
$ gulp mist

// Or to generate the wallet (using the https://github.com/ethereum/meteor-dapp-wallet -> master)
Expand Down
11 changes: 0 additions & 11 deletions config.js

This file was deleted.

3 changes: 2 additions & 1 deletion customProtocols.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const protocol = require('protocol');
const electron = require('electron');
const protocol = electron.protocol;
const path = require('path');


Expand Down
150 changes: 133 additions & 17 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ var packager = require('electron-packager');
var spawn = require('child_process').spawn;
var merge = require('merge-stream');
var rename = require("gulp-rename");
var download = require('gulp-download');
var decompress = require('gulp-decompress');
var tap = require("gulp-tap");
// const zip = require('gulp-zip');
// var zip = require('gulp-zip');
// var zip = require('gulp-jszip');
var EasyZip = require('easy-zip').EasyZip;
// var EasyZip = require('easy-zip').EasyZip;
var minimist = require('minimist');
var fs = require('fs');
var rcedit = require('rcedit');
Expand All @@ -35,8 +38,16 @@ var type = 'mist';
var filenameLowercase = 'mist';
var filenameUppercase = 'Mist';
var applicationName = 'Mist';
var electronVersion = '1.2.2';
var gethVersion = '1.4.7';
var nodeUrls = {
'darwin-x64': 'https://github.com/ethereum/go-ethereum/releases/download/v1.4.7/geth-OSX-2016061509421-1.4.7-667a386.zip',
'linux-x64': 'https://github.com/ethereum/go-ethereum/releases/download/v1.4.7/geth-Linux64-20160615125500-1.4.7-667a386.tar.bz2',
'win32-x64': 'https://github.com/ethereum/go-ethereum/releases/download/v1.4.7/Geth-Win64-20160615094032-1.4.7-667a386.zip',
'linux-ia32': 'https://bintray.com/karalabe/ethereum/download_file?file_path=geth-1.4.7-stable-667a386-linux-386.tar.bz2',
'win32-ia32': 'https://bintray.com/karalabe/ethereum/download_file?file_path=geth-1.4.7-stable-667a386-windows-4.0-386.exe.zip'
};

var electronVersion = '0.37.2';
var osVersions = [];
var packJson = require('./package.json');
var version = packJson.version;
Expand Down Expand Up @@ -114,7 +125,108 @@ gulp.task('clean:dist', function (cb) {
], cb);
});

gulp.task('copy-files', ['clean:dist'], function() {
// DOWNLOAD NODES

gulp.task('clean:nodes', function (cb) {
return del([
'./nodes/geth/',
], cb);
});

gulp.task('downloadNodes', ['clean:nodes'], function(done) {
var streams = [];

_.each(nodeUrls, function(nodeUrl, os){

//var destPath = (os === 'darwin-x64')
// ? path +'/'+ filenameUppercase +'.app/Contents/Frameworks/node'
//: path +'/resources/node';


// donwload nodes
streams.push(download(nodeUrl)
.pipe(gulp.dest('./nodes/geth/')));

});

return merge.apply(null, streams);
});

gulp.task('unzipNodes', ['downloadNodes'], function(done) {
var streams = [];

_.each(nodeUrls, function(nodeUrl, os){

var fileName = nodeUrl.substr(nodeUrl.lastIndexOf('/'));

// unzip nodes
streams.push(gulp.src('./nodes/geth'+ fileName)
.pipe(decompress({strip: 1}))
.pipe(gulp.dest('./nodes/geth/'+ os)));

});

return merge.apply(null, streams);
});

gulp.task('renameNodes', ['unzipNodes'], function(done) {
var streams = [];

_.each(nodeUrls, function(nodeUrl, os){

var fileName = nodeUrl.substr(nodeUrl.lastIndexOf('/')).replace('download_file?file_path=','').replace('.tar.bz2','').replace('.zip','');

// unzip nodes
if(os === 'linux-ia32' || os === 'win32-ia32') {
console.log(fileName);
var task = gulp.src('./nodes/geth/'+ os + fileName);

if(os === 'linux-ia32')
task.pipe(rename('geth/'+ os + '/geth'));
if(os === 'win32-ia32')
task.pipe(rename('geth/'+ os + '/geth.exe'));

task.pipe(gulp.dest('./nodes/'));

streams.push(task);
}

});

return merge.apply(null, streams);
});

gulp.task('renameNodesDeleteOld', ['renameNodes'], function (cb) {
return del([
'./nodes/geth/linux-ia32/'+ nodeUrls['linux-ia32'].substr(nodeUrls['linux-ia32'].lastIndexOf('/')).replace('download_file?file_path=','').replace('.tar.bz2','').replace('.zip',''),
'./nodes/geth/win32-ia32/'+ nodeUrls['win32-ia32'].substr(nodeUrls['linux-ia32'].lastIndexOf('/')).replace('download_file?file_path=','').replace('.tar.bz2','').replace('.zip',''),
], cb);
});

// CHECK FOR NODES

var updatedNeeded = true;
gulp.task('checkNodes', function() {
return gulp.src('./nodes/geth/*.{zip,tar.bz2}')
.pipe(tap(function(file, t) {
if(!!~file.path.indexOf('-'+ gethVersion +'-')) {
updatedNeeded = false;
}
}))
.pipe(gulp.dest('./nodes/geth/'));
});


// BUNLDE PROCESS

gulp.task('copy-files', ['checkNodes', 'clean:dist'], function() {

// check if nodes are there
if(updatedNeeded){
console.error('YOUR NODES NEED TO BE UPDATED run $ gulp update-nodes');
throw new Error('YOUR NODES NEED TO BE UPDATED run $ gulp update-nodes');
}

return gulp.src([
'./tests/**/*.*',
'./modules/**/*.*',
Expand All @@ -125,17 +237,18 @@ gulp.task('copy-files', ['clean:dist'], function() {
'!./interface/**/*.*',
'!./geth',
'!./geth.exe',
'!./main.js',
'!./Wallet-README.txt'
], { base: './' })
.pipe(gulp.dest('./dist_'+ type +'/app'));
});

gulp.task('switch-production', ['clean:dist'], function() {
return gulp.src(['./main.js'])
.pipe(replace('global.production = false;', 'global.production = true;'))
.pipe(replace('global.mode = (argv.mode ? argv.mode : \'mist\');', 'global.mode = (argv.mode ? argv.mode : \''+ type +'\');'))
.pipe(gulp.dest('./dist_'+ type +'/app'));
gulp.task('switch-production', ['clean:dist', 'copy-files'], function(cb) {
fs.writeFileSync(__dirname+'/dist_'+ type +'/app/config.json', JSON.stringify({
production: true,
mode: type,
}));

cb();
});


Expand Down Expand Up @@ -222,13 +335,13 @@ gulp.task('create-binaries', ['copy-i18n'], function(cb) {
});
});

// FILE RENAMING

gulp.task('change-files', ['create-binaries'], function() {
var streams = [];

osVersions.map(function(os){
var stream,
path = './dist_'+ type +'/'+ filenameUppercase +'-'+ os;
var path = './dist_'+ type +'/'+ filenameUppercase +'-'+ os;

// change version file
streams.push(gulp.src([
Expand Down Expand Up @@ -364,11 +477,7 @@ gulp.task('getChecksums', [], function(done) {
var fileName = path.replace('./dist_'+ type +'/', '');
var sha = spawn('shasum', [path]);
sha.stdout.on('data', function(data){
console.log('SHASUM '+ fileName +': '+ data.toString().replace(path, ''));
});
var md5 = spawn('md5', [path]);
md5.stdout.on('data', function(data){
console.log('MD5 '+ fileName +': '+ data.toString().replace('MD5 ('+ path +') = ', ''));
console.log('SHASUM -a 256'+ fileName +': '+ data.toString().replace(path, ''));
});


Expand All @@ -394,6 +503,11 @@ gulp.task('taskQueue', [
// 'zip'
]);

// DOWNLOAD nodes
gulp.task('update-nodes', [
'renameNodesDeleteOld'
]);
gulp.task('download-nodes', ['update-nodes']);

// MIST task
gulp.task('mist', [
Expand All @@ -417,4 +531,6 @@ gulp.task('wallet-checksums', [
'getChecksums'
]);

gulp.task('default', ['mist']);
gulp.task('default', ['mist']);


Binary file modified icons/mist/icon.icns
Binary file not shown.
Binary file modified icons/mist/icon.ico
Binary file not shown.
Binary file modified icons/mist/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified icons/mist/icon2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 66e64ab

Please sign in to comment.