Mist

https://github.com/expanse-org/mist

This branch is 41 commits ahead, 968 commits behind ethereum:master.

Mist Browser

Join the chat at https://gitter.im/expanse-org/mist Build Status develop branch Code Climate

The Mist browser is the tool of choice to browse and use Ðapps.

For the Mist API see the MISTAPI.md.

Installation

If you want install the app from a pre-built version on the release page, you can simply run the executable 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).

Config folder

The data folder for Mist is stored in other places:

  • Windows %APPDATA%\Mist

  • macOS ~/Library/Application Support/Mist

  • Linux ~/.config/Mist

Development

For development, a Meteor server will to be started to assist with live reload and CSS injection. Once a Mist version is released the Meteor frontend part is bundled using meteor-build-client npm package to create pure static files.

Dependencies

To run mist in development you need:

  • Node.js v6.x (use the prefered installation method for your OS)

  • Meteor javascript app framework

  • Yarn package manager

  • Electron v1.3.13 cross platform desktop app framework

  • Gulp build and automation system

Install the later ones via:

Initialisation

Now you're ready to initialize Mist for development:

To update Mist in the future, run:

Run Mist

For development we start the interface with a Meteor server for auto reload etc. Start the interface in a separate terminal window:

In the original window you can then start Mist with:

NOTE: client-binaries (e.g. geth) specified in clientBinaries.json will be checked during every startup and downloaded if out-of-date, binaries are stored in the config folder

NOTE: use --help to display available options, e.g. --loglevel debug (or trace) for verbose output

Run the Wallet

Start the wallet app for development, in a separate terminal window:

In the original window you can then start Mist using wallet mode:

Connecting to node via HTTP instead of IPC

This is useful if you have a node running on another machine, though note that it's less secure than using the default IPC method.

Passing options to Gexp

You can pass command-line options directly to Gexp by prefixing them with --node- in the command-line invocation:

The --rpc Mist option is a special case. If you set this to an IPC socket file path then the --ipcpath option automatically gets set, i.e.:

...is the same as doing...

Using Mist with a privatenet

To run a private network you will need to set the IPC path, network id and data folder:

NOTE: since ipcpath is also a Mist option you do not need to also include a --node-ipcpath option.

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

Deployment

To create a binaries you need to install electron-builder dependencies:

To generate the binaries simply run:

This will generate the binaries inside the dist_mist/release or dist_wallet/release folder.

Options

platform

Additional you can only build the windows, linux, mac or all binary by using the platform option:

Options are:

  • mac (Mac OSX)

  • win (Windows)

  • linux (Linux)

  • all (default)

walletSource

With the walletSource you can specify the branch to use, default ist master:

Options are:

  • master

  • develop

  • local Will try to build the wallet from [mist/]../meteor-dapp-wallet/app

mist-checksums | wallet-checksums

Spits out the SHA256 checksums of distributables.

It expects installer/zip files to be in the generated folders e.g. dist_mist/release

Code signing for production

As of #972 we've updated the build process and thus need to redo code-signing.

Testing

First make sure to build Mist with: gulp mist --platform [mac,linux] or gulp wallet --platform [mac,linux].

Then run gulp test-mist or gulp test-wallet, accordingly.

Last updated

Was this helpful?