-
Notifications
You must be signed in to change notification settings - Fork 262
Dashboard UI tool to manage Kelp processes on your machine #67
Comments
v2.0 suggestions
|
@nikhilsaraf the MVP plan looks good to me! As far as external exchanges for viewing markets, links that open new windows might work better than iframes. |
Check out some of the GUI frameworks mentioned here, in case they are useful: https://github.com/avelino/awesome-go/blob/master/README.md#gui |
also resource embedding frameworks: https://github.com/avelino/awesome-go#resource-embedding |
#158) - [x] deployment mode embeds JS assets into binary (when building with `./scripts/build.sh -d`) - [x] local mode running from static files in filesystem (when building with `./scripts/build.sh` and running with `./bin/kelp server`) - [x] dev mode with hot-reloading of JS code from filesystem (when building with `./scripts/build.sh` and running with `./bin/kelp server --dev`) first commit for GUI Dashboard issue: #67
fyi Bruno. suggested folder ordering. the highlighted folders are what we would end up working with most. all work should happen in the /gui/web directly, which is currently a direct instantiation of a basic create-react-app application. see above points for the modes which you can run the GUI ( |
new commit to autogenerate bot config and start/stop bots: e686d7f |
new commit to get bot info to populate bot card: #184 |
addresses part of issue #67 * 1 - basic plumbing to edit bot configs in UI * 2 - generate bot names * 3 - some plumbing for saving new/edit form * 4 - /getBotConfig endpoint * 5 - frontend uses /getBotConfig to fetch bot config file * 6 - fill in trading platform on edit screen * 7 - json tags for trader and buysell configs, logged in response to /getBotConfig * 8 - filled in some more parts of the edit form * 9 - add logic to update input elements, should apply to most/all form elements * 10 - add onChange handlers for remaining input elements that have valid values from the state * 11 - allow dependencies between input fields when updated * 12 - strikethrough asset issuer strings instead of deleting them when asset code is XLM
…descriptor bug addresses part of issue #67
addresses part of issue #67 * 1 - remove unused emptyStringIfXLM fn * 2 - updated advanced trader settings * 3 - remove strikethrough prop in <Input> and read off of disabled prop instead * 4 - started UX for PriceFeed by consolidating components into PriceFeedAsset with reload logic * 5 - /fetchPrice basic hardcoded implementation and integration into frontend * 6 - /fetchPrice actually fetches price using passed in data type and URL * 7 - price feeds rendering and price fetching * 8 - set calculated price, loading animation when loading prices and reload price on selection * 9 - disable trading platform for now until we expand to non-SDEX exchanges in the UI * 10 - fix css for price selector dropdowns * 11 - type text needs a default value, fix sdexFeed default client params when missing privateSdexHackVar * 12 - handle levels correctly, move to non-advanced section * 13 - fix indentation of some <Input> tags * 14 - fill in tolerance and offset fields for advanced section of strategy_config Form * 15 - added validation to <Input> tag and added type param to all callers
addresses part of issue #67 * 1 - remove hardcoded error message * 2 - bot is only editable when stopped * 3 - disable editing names for now * 4 - streamline frontend save logic workflow * 5 - added /updateBotConfig endpoint and integrated to frontend * 6 - fix checks around null values of _asyncRequests and .cancel() calls
addresses part of issue #67 * 1 - fix New Bot button and remove dummy download button * 2 - /getNewBotConfig endpoint and integration into frontend, remove separate call to gen bot name * 3 - rename /updateBotConfig to /upsertBotConfig; save new bot config using /upsertBotConfig endpoint * 4 - log bot state after querying state
addresses part of issue #67 * 1 - log when we reset cached balances --somehow prevents bot from panicing \_(ツ)_/¯ * 2 - add timeout to /getBotState call to fix delay in getting bot state caused by overlapping and slow calls/responses * 3 - fix logic to check bot state, limiting to only kelp trade commands
…un from UI (#195) addresses part of issue #67 * 1 - list onChange function as an input PropType to the <Input> component * 2 - allow PubNet segment selector selection * 3 - disable "Helper Fields" switch for now * 4 - enable editing bot when it is stopping * 5 - bot randomly crashes on start, try adding a panic handler in the IPC server thread * 6 - fix bug that is causing bot to crash on start * 7 - remove chart dummy image in BotCard * 8 - disable sorting arrows * 9 - remove onClick for showDetails of bot
addresses part of issue #67 * 1 - remove unused chartThumb import in BotCard * 2 - autogen secret key * 3 - add secret key generatin for source account * 4 - display errors in the UI if encountered while saving bot configs * 5 - display field-specific errors in the form * 6 - extract function validateConfigs * 7 - dont display numerical errors if empty * 8 - add _positive type modifiers for the Input component * 9 - better error message for asset codes * 10 - validation for levels, fix empty level values
addresses part of issue #67 * 1 - fund accounts and add trustlines for assets on upsert if needed * 2 - handle initializing state correctly * 3 - init trader config after validating inputs in upsertBotConfig * 4 - offsets can be negative
) addresses part of issue #67 * 1 - extract call to getBotInfo via IPC in a separate function * 2 - started fetching getBotInfo directly with temp data * 3 - rename gui/model to gui/model2 to avoid conflicts with model pacakge * 4 - fill in balances in getBotInfo * 5 - fill in numBids and numAsks in getBotInfo * 6 - fill in logic for spreads * 7 - getBotInfo should wait when bot is initializing
addresses part of issue #67 * 1 - ignore errors from getBotInfo call * 2 - add last updated field to getBotInfo * 3 - retry setting version every 30 seconds if there is an error * 4 - retry fetching bots if nothing returned
addresses part of issue #67 * 1 - replace api clients to use injected URI * 2 - replace URIs used in creation of config files * 3 - log horizon URIs being used by server * 4 - trim suffix of URI at the very top * 5 - save horizon URIs on APIServer and use when creating new bots for consistency
addresses part of issue #67 * 1 - flux the optionsMetadata structure in preparation to move to backend * 2 - move v0.1 impl of optionsMetadata to backend * 3 - builder pattern to create optionsMetadata along with preloading logic when making APIServer * 4 - add support for fiat via currencylayer API * 5 - dynamically include whitelisted ccxt markets * 6 - refactor asset converters, adding custom Display assetConverter and using for CCXT * 7 - inclide all CCXT exchanges * 8 - don't log the optionsMetadata json response since it's too verbose * 9 - blacklist some ccxt exchanges that are not loading for me so startup is faster * 10 - add all fiat currencies available via currencylayer * 11 - list all coinmarketcap tokens via their API * 12 - remove commented out optionsMetadata struct
…g to the optionsMetadata addresses part of issue stellar-deprecated#67
…ice so it won't work for our basic price feed addresses part of issue stellar-deprecated#67
addresses part of issue stellar-deprecated#67
…und any bots addresses part of issue #67
addresses part of issue #67 * 1 - add link to show market * 2 - correct market links for pubnet and testnet bots * 3 - faster fetch bots with protection for duplicate requests * 4 - badge should reflect testnet/pubnet bots
v0.9 of Kelp is finished, currently only available on the test network for starters on SDEXX. It's still going through some alpha testing so is not available as an official release yet, but will be made available sometime this month. |
…d (#158) - [x] deployment mode embeds JS assets into binary (when building with `./scripts/build.sh -d`) - [x] local mode running from static files in filesystem (when building with `./scripts/build.sh` and running with `./bin/kelp server`) - [x] dev mode with hot-reloading of JS code from filesystem (when building with `./scripts/build.sh` and running with `./bin/kelp server --dev`) first commit for GUI Dashboard issue: stellar-deprecated/kelp#67
…d (#158) - [x] deployment mode embeds JS assets into binary (when building with `./scripts/build.sh -d`) - [x] local mode running from static files in filesystem (when building with `./scripts/build.sh` and running with `./bin/kelp server`) - [x] dev mode with hot-reloading of JS code from filesystem (when building with `./scripts/build.sh` and running with `./bin/kelp server --dev`) first commit for GUI Dashboard issue: stellar-deprecated/kelp#67
Desired Behavior
I want to be able to visualize all the Kelp processes that I have running on my system with controls for each instance.
Impact
The desired behavior will allow me to scale up my usage of Kelp and better manage markets.
Feature Suggestion
We can achieve the desired behavior by having a Dashboard UI for Kelp. This can be a web page that interfaces with a server that controls various bot instances running on the machine.
References
This feature exists in quite a few trading bots (both crypto and non-crypto). Please see the specification section below for details.
Specification
v1.0 (MVP)
Mockup
Items
./scripts/build.sh -d
)./scripts/build.sh
and running with./bin/kelp server
)./scripts/build.sh
and running with./bin/kelp server --dev
)The text was updated successfully, but these errors were encountered: