GithubHelp home page GithubHelp logo

ohager / burst-autoplotter Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 2.0 1.95 MB

Automates plotting for BURST coin

License: Other

JavaScript 92.17% Batchfile 0.32% HTML 7.51%
automates-plotting burst-autoplotter burst-coin nonces plotting

burst-autoplotter's People

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

rohitereddy

burst-autoplotter's Issues

change of directory for plotting

great tool, was recommended by a lot of people.

it would be nice to be able to specify a directory of a disk for plotting
Ex : Z:\My Drive\BURST.

Still calculation issues for nonces

First: Plotter is working, i.e. does not break plots - although shown results may be inconsistent.

On a testplot of 10 GiB in 3 files the last plot showed up with strange values (negative duration times, more than 100% done). I assume that the plot partitions have some issues, as it was expected to have
13648 nonces for each plot. For some reasons, the last plot resulted in larger value than that (maybe 14000) and therefore the plotter was still working and feeding the UI with > 100% values.

Result after plotting:

Validated Plots: Path: C:/Burst/plots/ 16107620026796983538_0_13648_13648 is VALID 16107620026796983538_13653_13648_13648 is VALID 16107620026796983538_27306_13648_13648 is VALID

the second plot should start at 13648 and third at 27296. Could be an indicator for wrong nonce calculations.

Falsy Progress Information

Apparently, the calculation of written nonces per plot is wrong.
I started a larger plotting (15 chunks) for 4TiB and the console shows for written nonces insanely large values, like writing 15000 nonces per update (4 secs).

I expect that the plotter works normally - at least the nonces/min speed seem reliable.

Exchange XPlotter by SPlotter

I made some tests with SPlotter and found out that its AVX2 version is faster than Blagos provided AVX2 version (Plotting 20000 Nonces - SPlotter: 116 secs, XPlotter: 161 secs),
Furthermore, the codebase is much better organized, and the printfs can be easily directed to stderr (Blago lost codes, and apparently my merge is not considered in v1.1)

Expected advantages:

  • faster plotting
  • better exception handling
  • eliminates rounding problems with AVX versions, as written nonces is provided absolutely (instead of rough percentages)

Allow 19 digit Burst IDs

From PM:

Hello, I am trying to use your burst auto plotter and I can't because my numeric id is only 19 digits long, not 20. Can you provide a fix for this? <<

Asynchronous Move Plot

Make move plot asynchronous (again).

  • Need to consider that while moving, a new plot can be launched already...that is we need consider sufficient diskspace
  • if not sufficient, show hint that it can be moved only synchronously, otherwise do async'ly
  • Nice to have: Indicator for move progress

simple frontend

i have used autoit for several projects and this could give a very easy and good looking GUI

Multi-disk Plotting

As suggested in #12 , it should be possible to plot not only one disk, but multiple drives, such that the plotter needs to be started only once, and automatically plots several disks (may it sequentially, or even in parallel).

In case of parallel plotting, the amount of CPU/Threads can/should be split/splittable.

Progress not updated

Running a 400GiB plot with 4 chunks the progress indicator always stuck around 0.96% (15768/4096000)

Seems that plotting still works, but no update on cli

-- that's the raw output from stdio!
image

Introduce Telegram Bot

Wouldn't it be cool, to have a small bot on telegram to check the current plotting status - especially if you're not at home?
Some features I can imagine:

  • request ETA
  • request current Status
  • request a screenshot
  • receive messages on certain events, like
    • finished single plot
    • finished total plot
    • errors

Use blessedjs for nicer UI

The current console updates are sloppy... and the ui is not really that neat, but functional.

Blessed is kind of a "reimplementation" of curses, although quite old, first impression are interesting. I'd like to play around with that.

autoplotter won't accept my numeric id

Murphy always gets me. every time. my numeric id is 18 digits long.

autoplotter says,
"> Use your numeric account ID (minimum 19 digits), dude!"

But, I'm using my legit numeric id.

Any advice?
Gary

Is it possible to use it on ubuntu?

node -v
v4.2.6

autoplot
/usr/local/lib/node_modules/burst-autoplotter/bin/command/command.js:5
const { printUsage, printUnknownCommand, printUnknownOption } = require("./usage");
^

SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/usr/local/lib/node_modules/burst-autoplotter/bin/autoplot.js:1:63)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)

Logging

Well, introducing logging that late is not a good sign...but it's worth doing it anyway

Allow sending notifications on specific events

As plotting is a long-term process of several hours, or even days, would be nice to have some email notification when

  • plot file finished
  • entire plotting finished
  • problems/exceptions

Move plot file to other disk, when finished

As SMR disks are not very performant on plotting, it should be possible to plot a file on a fast disk (PMR, SSD) and then move it to slower disk.

  • Need to consider available space on 'buffering' disk for that feature.
  • Extend notifications when moving

Answers via command line parameters

For CLI scripting, it's necessary to make principal plotting parameters available via command line,

  • account
  • targetdisk
  • plotdisk (move plot)
  • plotsize
  • chunks
  • instructionset
  • threads
  • memory
  • logenable

Maybe it'll be better to use a config file for that...

autoplot --config myconfig.json

this is less cumbersome than introducing dozens of arguments, and let's things more flexible for the future.

Refactoring for better maintainability

Currently, the entire structure is quite close to be spaghetti...no clear separations of responsibilities. Objective of this refactoring is:

  • easier to maintain
  • better testability
  • resolve some bugs, i.e. duration estimates

A planned approach is applying reactive programming (using observable store) and break output into views.

Should Scoops have finished being written before autoplotter says its finished?

Not sure if this is an error but it looks wrong to me. Each plot is at different percentages, almost never 100% before it starts a new plot. After all plots were created, it said it was finished but left each plot at different percentages complete. What would cause this? Is the text wrong or did it really not write all the nonces?
auto-plotter

Support for AVX2

The current version uses only AVX instruction set for plotting. Could be interesting to select AVX2, too (under extended settings maybe)

Introduce an advanced mode

According to Blago, mem settings are an advanced feature - after a look at the XPlotter code I saw that mem settings is set automatically. So, could be shifted towards advanced setup. Same for CPU. Maybe in easy mode CPU/Threads could be set to (available Threads - 1) per default.

With all of this, more detailed output should be written - especially from XPlotters startup (reading initial settings from stdio)

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.