esocial v0.9.3
Esocial Browser
The Esocial browser is the tool of choice to browse and use Ðapps.
For the Esocial API see the ESOCIALAPI.md.
Please note that this repository is the Electron host for the Meteor based wallet dapp whose repository is located here: https://github.com/ethereumsocial/meteor-dapp-wallet.
Help and troubleshooting
Please check the Esocial troubleshooting guide.
Or the Discord Channel, to connect with the community for instant help.
Installation
If you want to install the app from a pre-built version on the release page, 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).
Config folder
The data folder for Esocial is stored in other places:
- Windows
%APPDATA%\Esocial - macOS
~/Library/Application\ Support/Esocial - Linux
~/.config/Esocial
Development
For development, a Meteor server will need to be started to assist with live reload and CSS injection.
Once a Esocial version is released the Meteor frontend part is bundled using the meteor-build-client npm package to create pure static files.
Dependencies
To run esocial in development you need:
- Node.js
v7.x(use the prefered installation method for your OS) - Meteor javascript app framework
- Yarn package manager
- Electron
v1.7.9cross platform desktop app framework - Gulp build and automation system
Install the latter ones via:
$ curl https://install.meteor.com/ | sh
$ curl -o- -L https://yarnpkg.com/install.sh | bash
$ yarn global add electron@1.7.9
$ yarn global add gulpInitialisation
Now you're ready to initialise Esocial for development:
$ git clone https://github.com/ethereumsocial/esocial.git
$ cd esocial
$ yarnTo update Esocial in the future, run:
$ cd esocial
$ git pull
$ yarnRun Esocial
For development we start the interface with a Meteor server for autoreload etc. Start the interface in a separate terminal window:
$ cd esocial/interface && meteor --no-release-checkIn the original window you can then start Esocial with:
$ cd esocial
$ yarn dev:electronNOTE: client-binaries (e.g. gesc) 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:
$ cd esocial/interface && meteor --no-release-check
// and in another terminal
$ cd my/path/meteor-dapp-wallet/app && meteor --port 3050In the original window you can then start Esocial using wallet mode:
$ cd esocial
$ yarn dev:electron --mode walletConnecting 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.
$ yarn dev:electron --rpc http://localhost:9545Passing options to Gesc
You can pass command-line options directly to Gesc by prefixing them with --node- in
the command-line invocation:
$ yarn dev:electron --mode esocial --node-rpcport 19343 --node-networkid 2The --rpc Esocial option is a special case. If you set this to an IPC socket file
path then the --ipcpath option automatically gets set, i.e.:
$ yarn dev:electron --rpc /my/gesc.ipc...is the same as doing...
$ yarn dev:electron --rpc /my/gesc.ipc --node-ipcpath /my/gesc.ipcCreating a local private net
See this guide to quickly set up a local private network on your computer: https://gist.github.com/evertonfraga/9d65a9f3ea399ac138b3e40641accf23
Using Esocial with a privatenet
To run a private network you will need to set the IPC path, network id and data folder:
$ yarn dev:electron --rpc ~/Library/Ethereum/gesc.ipc --node-networkid 1234 --node-datadir ~/Library/Ethereum/privatenetNOTE: since ipcpath is also a Esocial option you do not need to also include a
--node-ipcpath option.
You can also launch gesc separately with the same options prior starting
Esocial.
Deployment
Our build system relies on gulp and electron-builder.
Dependencies
meteor-build-client bundles the meteor-based interface. Install it via:
$ npm install -g meteor-build-clientFurthermore cross-platform builds require additional electron-builder dependencies. On macOS those are:
// windows deps
$ brew install wine --without-x11 mono makensis
// linux deps
$ brew install gnu-tar libicns graphicsmagick xzGenerate packages
To generate the binaries for Esocial run:
$ gulpTo generate the ESocial Wallet (this will pack the one Ðapp from https://github.com/ethereumsocial/meteor-dapp-wallet):
$ gulp --walletThe generated binaries will be under dist_esocial/release or dist_wallet/release.
Options
platform
To build binaries for specific platforms (default: all available) use the following flags:
// on mac
$ gulp --win --linux --mac
// on linux
$ gulp --win --linux
// on win
$ gulp --winwalletSource
With the walletSource you can specify the Wallet branch to use, default is master:
$ gulp --wallet --walletSource developOptions are:
masterdeveloplocalWill try to build the wallet from esocial/../meteor-dapp-wallet/app
Note: applicable only when combined with --wallet
skipTasks
When building a binary, you can optionally skip some tasks — generally for testing purposes.
$ gulp --mac --skipTasks=bundling-interface,release-dist
Checksums
Spits out the MD5 checksums of distributables.
It expects installer/zip files to be in the generated folders e.g. dist_esocial/release
$ gulp checksums [--wallet]Testing
Tests are ran using Spectron, a webdriver.io runner built for Electron.
First make sure to build Esocial with:
$ gulpThen run the tests:
$ gulp testNote: Integration tests are not yet supported on Windows.
8 years ago
