Select Page

Category:generic-snapshots
Sub Category:New Project
Funding Goal:250000 EXOR(~$15,711.00 USD total)*
Funded:0 / 250000 EXOR(~$15,711.00 USD remaining)*
 
Funding Address:EZAf6TSzNmcmAeEWbG2F7z1mZ94gwJRPRV
Date Added:17-Jun-2024
Description:

The "generic-snapshots" project can be used to create and manage blockchain snapshots for any altcoin either as a plugin/add-on to the eIquidus block explorer or as a standalone solution with its own built-in web server. This project is already fairly complete and a working example of how it looks on the front-end can be seen here: https://explorer.exor.io/snapshots.

There are a couple of reasons this project is being released as an add-on instead of a core feature of the block explorer. First of all, although we have received many requests to add this type of functionality to the explorer, snapshot creation has little to do with the explorer itself and in some respects it belongs in its own separate corner of the internet. That being said, it is certainly handy to have all or many blockchain-related functions in one place and therefore it is up to the coin developer/administrator to choose if they would like to include snapshots in the explorer or host them on a separate domain. Probably the #1 reason for being released separately is that it requires a 2nd core wallet to be run alongside the explorer. Making snapshot backups of any blockchain usually requires that you fully shut down the wallet software before trying to make the snapshot. Failure to do this could result in creating a corrupt snapshot if 1 or more new blocks arrive while the data files are being archived. While it would be possible to use the explorer node as the snapshot wallet, it would cause downtime for the explorer every time a snapshot was scheduled to be created. Not only that, but running a node like the explorer wallet 24/7 will undoubtedly pick up and store orphaned blocks along the way and that "extra" data will only add unnecessary bloat to the snapshots. Therefore, a 2nd wallet is paramount to creating high quality blockchain snapshots.

Please note that the generic-snapshots project requires a coin wallet that supports the "stopatheight" feature which was first introduced to the core bitcoin wallet back in 2017. This ensures that you can start a coin wallet and have it sync to a particular block without much worry of forking or picking up orphaned blocks to help ensure the snapshot is as clean and lightweight as possible.

More information about the "stopatheight" feature:
Original commit: https://github.com/bitcoin/bitcoin/commit/8d6d43e9338ae7315476872cf706d45d237e1841
Updated commit: https://github.com/bitcoin/bitcoin/commit/2e7d8f8b7d98b9d60a6304e2853df23301cbd600

This project will include the following features:

  • Ability to run a standalone snapshot server instance without the need to run an eIquidus block explorer
  • Ability to interface with an existing eIquidus block explorer simply by adding the generic-snapshots project folder to the block explorer's "plugins" directory and enabling the plugin inside the explorer's settings file
  • Script to automatically create a new snapshot from a dedicated coin wallet, upload to cloud storage, and send the link to a remote eIquidus explorer or standalone snapshot server instance
  • Script to list all snapshots on the cloud storage server
  • Script to delete all snapshots from the cloud storage server
  • Script to send a test email to ensure email setting are configured correctly
  • Create snapshots in zip and/or tgz format
  • Includes a single webpage that links to your coins latest snapshots along with step-by-step installation/usage instructions
  • 2 new API's are included:
    1. getnewestsnapshot: Returns the most recent snapshot data either in json format or return only a single field instead of the entire json object
    2. getsnapshotlist: Returns the complete list of snapshots in json format
  • Email capabilities to send email on success or failure of the create snapshot process
  • Fully customizable options, similar in style to what you can find in the eIquidus block explorer
  • Full logging capabilities for all scripts
  • Support for storing snapshots on Google Drive
  • Only English is supported for the initial release but all English strings are in a central location which should make it easy to translate to other languages
  • Platform independent (tested to run on Windows, MacOS and Linux)
* USD estimates are based on the last known EXOR trading price