项目作者: kremalicious

项目描述 :
🐡 Simple Electron-based desktop app to retrieve and display your total Ocean Token balances.
高级语言: JavaScript
项目地址: git://github.com/kremalicious/blowfish.git
创建时间: 2019-05-05T09:50:30Z
项目社区:https://github.com/kremalicious/blowfish

开源协议:MIT License

下载



Blowfish


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







interface


Made with ♥ by Matthias Kretschmann



Say thanks with OCEAN or ETH: 0xf50F267b5689b005FE107cfdb34619f24c014457


Say thanks with BTC: 3DiHNMt875UWa2j73qFpr3cVB9foFhYArc



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 directly from the OceanToken contract on-chain via infura.io & ethjs
  • 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.

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.

Development

The main app is a React app authored with Next.js in src/renderer/ wrapped within an Electron app defined in src/main/.

Clone, and run:

  1. # Clone this repository
  2. git clone git@github.com:kremalicious/blowfish.git
  3. cd blowfish
  4. # Install dependencies
  5. npm install
  6. # Run the app in dev mode
  7. 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

  1. npm run build

Will build and package the app into platform specific packages for macOS, Windows & Linux.

Creating Releases

From a clean main branch, running the release task will do the following:

  • bumps the project version
  • creates a Git tag
  • commits and pushes everything
  • creates a GitHub release with commit messages as description
  • adds freshly build binaries for macOS, Windows & Linux as assets to each GitHub release
  1. npm run release

For the GitHub releases steps a GitHub personal access token, exported as GITHUB_TOKEN is required. Setup

License

  1. The MIT License (MIT)
  2. Copyright (c) 2020 Matthias Kretschmann
  3. Permission is hereby granted, free of charge, to any person obtaining a copy
  4. of this software and associated documentation files (the "Software"), to deal
  5. in the Software without restriction, including without limitation the rights
  6. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7. copies of the Software, and to permit persons to whom the Software is
  8. furnished to do so, subject to the following conditions:
  9. The above copyright notice and this permission notice shall be included in all
  10. copies or substantial portions of the Software.
  11. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  12. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  13. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  14. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  15. DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  16. OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
  17. OR OTHER DEALINGS IN THE SOFTWARE.