In this update, a number of changes were made to the wrapper script. The wrapper controls management functions (start/stop) of cMix infrastructure, as well as provides a connection to the consensus protocol. It also provides optional debug logging from node operators to the team. This update includes three notable changes:
- Improved error handling for cloudwatch logging. Rather than attempting to recover from a wide variety of potential error cases, the wrapper will now simply re-initialize the logging system. This has proven to be a far simpler and more effective solution than attempting a recovery operation for non-critical logging systems.
- Added the ability to select custom binaries to use with the network and wrapper script, rather than forcing a specific version from the blockchain. We believe that it is important in working towards an ideal decentralized system that node operators have full control over the software they run, without sacrificing the convenience of the wrapper script. This is intended for advanced users only, and carries risk of downtime if used incorrectly. A wiki page will be added to document the intended way of using this feature.
- Refactored code to include a series of minor bug fixes.
We tested on a small-scale cMix/consensus network, ensuring reliability over the period of two weeks in both cloudwatch logging and general operation. Then we tested binary updates manually, in the same fashion of the intended advanced use case.
For the time being, a community comment period on this change is open. Assuming issues are not found, the change will be deployed via the tech committee sometime in mid-January with at least a week advanced notice. Due to the nature of the change we do not believe it to be urgent enough to deploy immediately.
Deployment Process and Authority:
The tech committee (elected by the council) has the authority to deploy these updates with a ¾ vote. This authority lasts for 6 months at which point it must be reconfirmed through a public vote