@Phoenix mentioned elsewhere that a report of what I’ve achieved since starting as a full time developer with Nu would be appreciated. I’ll keep this post updated with the list of completed tasks as well as the current focus of development and tasks upcoming on the development roadmap.
NuBot updates -
There have been several bugs found in the long running NuBot processes currently providing liquidity on Bittrex and SouthXchange. I have been working through sets of logs to understand where these bugs are occurring and how to mitigate them.
I am also resurrecting the price streamer service that was in operation previously. This service aggregates all the price feeds available to NuBot for a given currency and provides a real-time notification of the price against the dollar. It also decides when a wall shift is necessary and sends a push notification to all connected bots. This allows for synchronisation between bots and makes it possible for more than one NuBot to operate on a given currency pair. This in turn will allow us to create failover redundancy by having multiple bots with different operators and different Exchange accounts with the eventual aim of regaining some of the decentralised Liquidity we saw previously.
Roadmap: (listed in no particular order. These are just the major points I have on my todo list)
There is some work to do on setting up a second trusted server for providing the block data and work to do on updating the code base of NuDroid and NuBitsJ to allow for a much faster initial download of the block-chain.
Automate “Supply, Reserves and Equilibrium” calculations:
Esko has been making these calculations manually. Using data gathered from various sources, they can be made automatically and shown on a chart.
Automate NuShare buy-backs
Once the Equilibrium Calculations are automated (see above) I can create a bot similar to NuBot that can handle the NuShare buy-backs (or sales).
Automate MultiSig operations
We now have Multisig addresses handling Shareholder funds but there is still a huge amount of manual work in deciding where and when to send funds. There is an opportunity to automatically create transactions to send funds to various places based on certain triggers (low balance at an exchange for example). We can send these transactions to signers devices using something like PushOver to allow for easy signing of transactions as soon as they are required
There is some work to do on the look of the front-end of Crypto-Daio to make sure that it displays all the information that it needs to and acts as a good flagship block-explorer for Nu and B&C. I also have plans to integrate multisig addresses and signing, address notifications and other services that can act as a secure platform for other services to be built on top of. I have a few ideas for such services which I have mentioned previously.
Contact Exchanges and other services - I hope to pick up on this now that the festive period is out of the way.
Create Index for tracking Multiple Currencies and commodities. Explore the validity of such an index and monitor it’s performance before deciding if it could be used as a basis for X-NBT
- Create Grafana Server for collection of network metrics - https://grafana.crypto-daio.co.uk (only NuTeam members can access the full server currently). This is used to create dashboards of data such as the ones found at https://nu.crypto-daio.co.uk/charts/usd_nav and https://nu.crypto-daio.co.uk/charts/current_liquidity. Expect to see a lot more of these interactive dashboards over the coming months.
Grafana also allows for alerts to be sent when certain data data parameters are reached. These are currently set up to alert myself and Esko when balances are low at Bittrex or SouthXchange or when the price of a US-NuBit is too high or low so action can be taken. As mentioned above, these alerts could be the basis of the automated MultiSig transactions.
- Create Lambda Functions to collect data for Grafana - The charts mentioned above rely on regular data being collected. This was happening in the background of Crypto-Daio but the server was becoming overloaded with the amount of data that was being collected. I have migrated those routines to use server-less technology provided by AWS Lambda. This make the data colelction more reliable and cheaper as there aren’t any servers to look after, the charge is only for the code that executes (A new AWS account for Nu has been created so we are currently taking advantage of the 12 month free trial).
- NuDroid - I have a build environment set up and have updated a fork of NuBitsJ to fetch nodes from a DNS seed node controlled by Nu. This means that NuDroid starts downloading the BlockChain automatically without having to add nodes manually.
- MultiSig Operations - I have forked CointoolKit and added code to fetch the data it needs from Crypto-Daio as well as the existing explorers.
- Add Votes to Crypto-Daio. - I have added Custodian Vote, motions, Fee and Parking Rate votes to Crypto-Daio so that data is being collected there. Still some work to do on the presentation of that data but that’s on the road-map.
- Add API Endpoints to Crypto-Daio to calculate Total Supply, Circulating Supply, Parked Coins and Network Owned funds. These have been passed to CoinMarketCap who are now using them to gather up to date information for their service (They use the Circulating Supply figure to calculate the Market Cap). These endpoints will also form the basis of the “Supply, Reserves and Equilibrium” automation mentioned in the RoadMap