Automating NuShare Sales or BuyBacks.
Now that the Supply, Reserves and Equilibrium dashboard is in place I can start working on autoating the NSR Sales or BuyBacks that need to take place each day. The plan is for these to take place at random times of the day on whichever exchange has the best price for Shareholders. This automation will also allow for full reporting on the amounts and prices of Sales/BuyBacks in near real time as the trades happen.
Roadmap: (listed in no particular order. These are just the major points I have on my todo list)
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.
I need to add Price Feeds for the new currencies we intend to support. I also want to add several more alternative price feeds to try and ensure continuous service should several feeds become unreachable at once. The good news is that any price feeds I add are automatically added for NuBot and the Price Streamer Service at the same time.
Add new Currencies and commodities.
- (02-07-2018) Create Index for tracking Multiple Currencies and commodities - Preliminary work has taken place in designing and building an infrastructure capable of collecting information and calculating a moving index tied to that data. We are monitoring the performance of the current index with a view to gradually add more and more currencies and commodities to it.
- (02-07-2018) Price Streamer - The Price Streamer server is now back in action and is providing aggregated to the active NuBot instances.
- (02-07-2018) Automate “Supply, Reserves and Equilibrium” calculations - As mentioned here there is now a Grafana Dashboard performing the Supply, Reserves and Equilibrium calculations constantly. These figures will be used as the basis for automated NuShare Sales/BuyBacks
- (02-07-2018) NuDroid - I added new endpoints to Crypto-Daio block explorer to allow it to function as a ‘trusted server’ for NuDoird to request block headers from. This means that there is some redundancy in place should the primary trusted server ever go down. I also created a new Lambda Function that gathers the 100 most active full nodes (as seen by the Crypto Daio block exporer) and updates the DNS of seed.nu.crypto-daio.co.uk and seed.bc.crypto-daio.co.uk. The Nu seed domain is hard coded into the updated version of NuBitsJ meaning that NuDroid now starts to sync automatically upon starting. I have also done some work on updating the NuDroid namespace so that we can manage the Google Play listing without encroaching on the previous developers account. There is an Alpha release of the new NuDroid version on the Google Play store as mentioned here
- 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