Here is what is going on behind the scenes with Spectrecoin development.
Lots to do to lock in a clean wallet plus a whitepaper and coming PR push.
FROM THE DEVS:
CURRENT TASK LIST FOR SPECTRECOIN:
1. Fix dependency hell:
- All the suitable versions of third-party dependencies (boost, libevent, etc.) should be included as sub-projects;
- No third-party dependencies should be used from random system folders, all of them should be inside project tree;
- Take a look at Qt project which includes third-party dependencies to avoid complications and simplify build process;
2. Add automated build script for third-party dependencies:
- Script (bootstrap.sh) should be able to detect platform and arch and build required versions of dependencies;
- Supported platforms: linux32, linux64, macos, windows32, windows64;
- This will simplify the Getting Started Guide for all developers to two simple steps:
+ clone sources from github;
+ run bootstrap.sh in terminal;
- The easier the Getting Started Guide the more developers will be able to build the project;
- The more developers will be able to successfully build the project the more will contribute to it or test it.
3. Add vagrant support to give everyone an opportunity to compile project for all supported platforms on a single machine with a single click (this is an important addition to the previous task):
- This will allow any developer to easily run cross-platform tests for there changes/pull-requests;
- Running cross-platform tests will help to avoid platform-dependent errors;
4. Fix and improve spectre.pro file:
- build_* options are redundant, linux|macos|win32|win64 options are already available for qmake;
- add separate library includes for win32 and win64;
- dont use C:\some\system\path includes;
- add multiple small improvements and fix warnings;
5. Switch to the latest Tor version:
- possibly can fix current runtime issues with Tor submodule on Windows;
- improves Tor stability;
6. Fix runtime bugs for Tor submodule on Windows (if current bugs will remain in newer version of Tor);
7. Check for compile time and runtime errors on Linux and macOS platforms. Also check the app for memory leaks on all platforms;
8. Do a research on a topic Is it possible to remove QtWebKit dependency or not?:
- this module is deprecated, which means that it no longer receives any updates from official Qt developers;
- it will be a great improvement to the project if we will find a way to switch to QtWebEngine.
9. Implement autoupdater submodule:
- example is current Chrome or Firefox update process (click update button and wait for it to download changes);
- updated versions will be automatically downloaded from Github release pages when user starts an older version of app on his/her machine;
- this will significantly simplify distribution process;
10. Add support for Google Breakpad:
- application will exit cleanly on crash;
- crash dump will be generated automatically;
- on the next run user will be asked to send this dump to us.
NOTE1: after implementing steps 1-4 it will be much easier to detect, fix and test any other bugs.
NOTE2: steps #3 and #9 will significantly simplify distribution process.
NOTE3: step #10 will simplify bugreporting process and give us more info about the issue (crash dump from user machine).
ADDITIONALLY: We will also build in a Tor obfuscation function so our wallet doesnt get blocked.