Git Product home page Git Product logo

golem-electron's Introduction

Golem Electron Application

Minimum Node Requirement CircleCI

The desktop application using Electron, React and Redux.

Golem Testnet Golem Mainnet

Development

🔧 Installation

You can use npm or yarn to install dependecies, to do;

NPM Yarn
npm install yarn

That's it!


💻 Usage (from source)

Start dev server

npm run start:app

Start electron application

Testnet Mainnet
npm run start npm run start:mainnet


🚩 Custom flags

To run golem electron with custom datadir and/or rpc address, pass the same flags and parameters as you do with golem. i.e.;

golemapp --datadir /Users/USER/test_datadir --rpc-address 127.0.0.1:60003
npm run start -- --datadir /Users/USER/test_datadir --rpc-address 127.0.0.1:60003

Note: Don't forget to add -- to npm run start before adding your flags.


🐛 Debug mode

While using application, you can choose Debug mode from the View menu or press;

Windows:   Ctrl  + Shift + L
Mac:           ⌘ cmd + Shift + L
Linux:         Ctrl   + Shift + L

Debug mode will be activated.
Now you can restart the application to catch all critical informations from beginning.

You'll find debug logs in;

OS Path General Log Error Log
Windows %LOCALAPPDATA%\golem\golem\default\{CURRENT_CHAIN}\logs\ gui.log gui‑error.log
Mac ~/Library/Application\ Support/golem/default/{CURRENT_CHAIN}/logs/ gui.log gui‑error.log
Linux ~/.local/share/golem/default/{CURRENT_CHAIN}/logs/gui.log/ gui.log gui‑error.log

Note: {CURRENT_CHAIN} parameter will be mainnet if you running golem on mainnet, if you're on testnet it will be rinkeby in this case.


🎛️ Developer mode

While using application, you can choose Developer mode from the View menu or press;

Windows:   Ctrl  + Shift + D
Mac:           ⌘ cmd + Shift + D
Linux:         Ctrl   + Shift + D

Developer mode will be activated.

You'll find additional information about;

  • subtask node list in task details page
  • peer list in settings tab
  • stats about the application in settings tab
  • more detailed tooltip information while hovering subtask borders in preview window


☔ Testing

Run tests

npm run test
npm run test:watch //live
npm run test:coverage //live

golem-electron's People

Contributors

badb avatar banasiakadam60 avatar cryptobench avatar etam avatar ethanmdavidson avatar jet86 avatar jiivan avatar kmazurek avatar krigpl avatar maaktweluit avatar mdtanrikulu avatar mfranciszkiewicz avatar mplebanski avatar paulperegud avatar shadeofblue avatar tworec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

golem-electron's Issues

Check if core is alive

When golemapp crash, UI doesn't show any notification. It should activly check if core is working and, if it crash/die it should tell about it

Editing Existing Presets and Creating Duplicate Names

Hi,

It seems it's not possible to edit an existing preset as every time save preset is selected it will prompt for a name. Also if you save with the same name as an existing present it doesn't say it already exists.

It might be better to have an edit preset option and a warning that the name already exists.

Developer mode GUI - task stats

Implement a next part of new dev interface that shows 'comp.tasks.stats' (get_tasks_stats). It can be displayed somewhere in settings or in Network tab.

Developer mode GUI - display network

Implement last part of Golem development mode GUI that displays specific information about nodes that you are connected to. It should get information from net.peers.connected (get_conneccted_peers).
We should display address, port, and node_name only.

Hardware preset update error

Hardware presets are updated on value (CPU, mem, disk space) change. If a field is empty, core fails with a traceback containing the error message: invalid literal for int() with base 10

Rendering task accepts only scene files, all additional files are marked as "not recognized"

Task must contain:

  • At least one proper scene file, ie. ".blend" file for Blender or ".lxs" file for Lux

Task may contain:

  • Any amount of additional files with arbitrary extensions. The directory structure of additional files is important and must be saved.

Currently we are only able to add "scene files", all the other files causes an error "Sorry, but we couldn't recognise some of the files needed for this task..."

Include Build information in Settings

build number

At the moment, we cannot get Golem to connect to any nodes, even with ports open, at least on our office network. So we are constantly updating builds as they come out. However, the only way to know which build we have is by looking in the terminal output during the install process.

Being able to see more than just "Brass Golem V0.1" but also the build information will probably be useful to everyone during beta testing and probably well beyond so i would suggest adding it.

Incorrect RPC call for updating hardware presets

These are all preset-related RPC calls found in source:

//Hardware Presets
--
77 | PRESETS_RPC: 'env.hw.presets',
78 | PRESET_RPC: 'env.hw.preset',
79 | PRESET_CREATE_RPC: 'env.hw.preset.create',
80 | PRESET_ACTIVATE_RPC: 'env.hw.preset.activate',

Instead of always using env.hw.preset.create, please also consider env.hw.preset.update

Clicking on Settings icon while in Settings view should return you to previous view

Current behaviour:

Click on Settings icon takes you to Settings view. To return, you have to click Network or Tasks to return to one of those views.

Better behaviour:
Once in Settings view click on either Network, Tasks or the Settings icon to return. Clicking on Settings icon will return you to whatever view you were previously in, while Network or Tasks will return you to those views specifically.

Task item-strange date

After assigning task, on task list there is placed task item.

Under the task title there are some status/time information details.

After task is started, status change from waiting.. to "some_time Duration". It's not clear what is this time. I noticed that this is "Task timeout" time, but is it really duration? Task can be completed faster or not at all. Presenting task timeout as a duration doesn't seem much of a help, since user can see it in task details (besides he already know what timeout he has chosen). Can we consider more of something like ETA (estimated time of arrival?), but if this will be hard due to lack of information, maybe at least "elapsed time"? So user can now how long this task has already took time?

And some obvious bug, after task is completed, Duration is replaced with some strange "3.15 Pm Yesterday" ... which doesn't seems right this is set same for every task despite i have currently 10:59 AM on my clock and it seems to be right :). Should this be point in time when task was completed?

electron local storage problem - port warning

The electron interface shows in a pulsed manner that the computer has not forwarded ports despite they are forwarded (macOS Sierra 10.12.5). Probably it is the problem with local storage.

Balance indicator confusion

Balance indicator shows our current GNT amount. ETH and USD sections are basically shows conversion of the GNT amount to the selected currency.

balance-indicator

The problem is in here; Golem system has both of GNT and ETH currencies. ETH currency is used for the gas price. To show ETH balance in the system, balance indicator UI must be rearranged or any other solutions are welcome.

Improve Network > Advanced empty state

advanced_empty_state

  1. “Not Loaded” is a bit clunky, better to say “No presets created”
  2. Remove the horizontal rule above “Manage Presets” if there is no preset (it looks awkward)
  3. Make some auto-generated presets i.e. Light, Medium, Heavy (this would solve 1 & 2)

welcome screen, first launch of golem

Info on welcome screen (descriptions for network, tasks, node) is misleading. There
should be added some header like "hint" "tips" or "introduction". Current screen - plain description - makes an impression that you need to set something at this point. Eg. node. On this screen it is possible to type user's node name, instead of "Anonymous Golem". Nothing is set, nothing is saved. There is no info that was just an example. Later on, one is wondering if node name was set anywhere or if it's needed to be typed again.

Missing information in computing task details

When you click on Task list on defined task (arrow to the right) you can see settings but some of them are missing: GNT bid, estimated price and new fields, ie. tiemouts, subtask number / sample per pixels.

Developer mode GUI - subtask details

Add possibility to display subtask details in GUI. There should be information about:

  • stdout log (can be file path)
  • stderr log (can be file path)
  • ip of the node that has computed the subtask
  • name of the node that has computed the subtask
  • short subtask description
  • time of computation

Forms for a dummy task needed

A "dummy', useful-for-debugging-and-implementation-example task is developed, and it needs some UI.

The input file is supposed to be an ordinary text file.
After the user select that file, he should be greeted with short task description and prompted for:

  1. Difficulty factor (from 0 to 2^32, probably would be better to show it on a logarithmic scale, with some label on what is the required time prediction - if this counter is set on x, then the task will take about 2^(-15)*x seconds).
  2. Number of subtasks
  3. Length of subtask-specific data (in bits) - every subtask has to calculate PoW based on shared data file (the input file received at the beginning) concatenated with subtask-specific data, which is chosen at random during task creation. This parameter sets the size of that additional data send to providers.
  4. Timeouts forms, as it is with rendering
  5. Price form, as it is with rendering

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.