Blowfish

🐡 Simple Electron-based desktop app to retrieve and display your total Ocean Token balances.

![interface](https://user-images.githubusercontent.com/90316/57982435-f0098a80-7a45-11e9-96c0-903830c8d42a.png)

Made with ♥ by Matthias Kretschmann

Say thanks with OCEAN or ETH: 0xf50F267b5689b005FE107cfdb34619f24c014457
Say thanks with BTC: 3DiHNMt875UWa2j73qFpr3cVB9foFhYArc

--- - [Features](#features) - [Download](#download) - [Development](#development) - [Configuration](#configuration) - [Build packages](#build-packages) - [License](#license) --- ## Features - show Ocean Token balances from a list of Ethereum account addresses - show a total balance of all account balances - convert those balances against multiple currencies - re-fetches everything automatically every minute - balances are fetched via etherscan.io API - spot prices are fetched from coingecko.com API - detects dark appearance setting and switches to dark theme automatically (macOS only) - detects system accent color and uses it as primary color (macOS & Windows only) - Touch Bar support (macOS only) - detects system locale for number formatting - currently highly optimized for macOS, your mileage on Windows or Linux may vary ## Download You can download pre-built binaries for macOS, Linux, and Windows from the [Releases page](https://github.com/kremalicious/blowfish/releases). The binaries are not code-signed so opening them on macOS will result in a warning. To be able to get around this warning: 1. Right-click on the app icon, and choose _Open_ 2. In the dialog, click _Open_ Alternatively, you can [build the app on your system](#build-packages). ## Development The main app is a React app in `src/renderer/` wrapped within an Electron app defined in `src/main/`. Clone, and run: ```bash # Clone this repository git clone git@github.com:kremalicious/blowfish.git cd blowfish # Install dependencies npm install # Run the app in dev mode npm start ``` ## Configuration The app has a settings screen where you can add your account addresses. When building the app yourself, you can configure more in the `src/config.js` file: | Key | Description | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | `conversions` | Array defining the currencies the Ocean balance is converted to. Every currency listed here will appear in the ticker buttons. | | `refreshInterval` | Defines the interval prices and balances are refetched. | | `oceanTokenContract` | Contract address of the Ocean Token. You should not change this. | ## Build packages ```bash npm run dist ``` Will build and package the app into platform specific packages for macOS, Windows & Linux. On a Mac and Linux machine, packaging requires [`wine`](https://www.winehq.org) and `rpm` in your `PATH`. To install on macOS with [Homebrew](https://brew.sh): ```bash brew install wine rpm ``` ## License [The MIT License](./LICENSE)