#11-06-2015 NuBot development, update #20
After 7 release candidates today we released NuBot v0.3.1
Pushing price updates through websockets
NuBot can connect to a streaming server (if available) using a websocket and listen and react to commands received from the Server. In this scenario we have two actors : the server (Streamer) and the clients (Subscriber).
This feature has been long awaited, as it now allows multiple custodians to consume a reliable pricefeed and subscribe to push updates. Wall-shifts will now happen simultaneously across exchanges and custodians. Risks derived from wall collisions are significantly reduced (to near 0).
The push service architecture we implemented is robust and each client autonomously performs sanity checks on the price received before acting. It allows hot-swaps of server machines and a load balancer drives the traffic in the right direction. The Streamer tracks the price of multiple fiat and crypto-currencies, and also suggest a price offset to clients (now statically, in the future dynamically).
The full documentation of this service is available on bitbucket.
Binary Checksum :
$ openssl sha1 nubot-v0.3.1.zip
Sources and docs at http://tradingbot.nu
Notes for custodians :
All custodians are invited to upgrade to the new version. Please follow and carefully read the new setup tutorial. The old JSON configuration files will not work.
- Introduced default configuration parameters. We suggest leaving most options as default.
- Deleted configuration parameter : verbose (boolean)
- Added configuration parameter : verbosity (string)
- Added configuration parameter : bypassStreaming (boolean)
- Added configuration parameter : streamingServer (string)
- Removed configuration parameter : hipchat (boolean)
- Added configuration parameter : gitter (boolean)
- Added configuration parameter : webport (int)
Changed default web port from 4567 to 8889.
Apply for a credential token : since the bot uses external services that require authentication, you’ll need to apply for a valid auth-token file that is not distributed with the bundle for obvious reasons.
If you are applying as custodian, use this form to request a valid key. You can also skip this step if you plan to manually configure tokens/keys.
Launch string changed to accomodate new optional CLI flag -skipCredentials.
GUI flag renamed to -sever
java -jar NuBot.jar -cfg=<path/to/config.json> [-server] [-skipCredentials]
Please read carefully
- Price-feed streaming service implementation and deployment. Details are documented here)
- Bot consume price-feeds via web-sockets (instant shift, synchronised)
- Integration of NuStringEncrypt and NuBot
- Basic HTTP API to interact with bot at runtime
- Obscured keys via CredentialManager
- Log trades for each bot session
- Implemented getOrderBook method for available exchanges
- Introduced default values for configuration parameters
- Checks for latest version on startup and issue warning
- Added testExchange() method to run a startup
- Graceful failure thrown if another GUI session detected
- Created a ExchangeControlPanl GUI to test entry points
- Control logging verbosity level via configuration parameter (high,normal,low)
- Gitter notifications
- Reduced code duplication in PriceFeeds
- Shutdown hook improved
- Each currency now dinamically loads price feeds via currencies.csv
- Gradle build task
- Improved updateKeystore.sh script
- TestPriceFeeds load dinamically all feeds available for each currencies
- Add TestMultipleOrders to TestWrappers
- Zip the build with correct naming
- Each bot session logs to its own subfolder
- Moved static CCEDK utils to CCEDK Wrapper
- web-gui | on build auto compile html also into .mustache files
- web-gui | Closing the webpage should prompt for “do you want to terminate server?”
- Introduced PriceBatch class
- added CLI flag -skipCredentials
- Added minimal-configuration-sample.json file to distributed package
- Change port of webserver (allowing multiple GUIs at the time)
- web-gui | page responsiveness adjustment
- CCEDK ticker
- Poloniex ticker
- startupduration -1
- Uncountable minor and major fixes.
For the upcoming 0.3.2 version, we are shifting our focus away from priceservice and going to integrate parametric order books into the trading strategy. Stay tuned for next announcement.