#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.

##Download

at https://bitbucket.org/JordanLeePeershares/nubottrading/downloads/nubot-v0.3.1.zip

Binary Checksum :

$ openssl sha1 nubot-v0.3.1.zip SHA1(nubot-v0.3.1.zip)= 0e961b0c81b17211b7a21840d8434e36f0dea292

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

v0.3.1 Changelog

New Features:

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

Improvements:

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

GUI javascript refactoring

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)

Bug fixes:

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.