I will commission a system that allocates batches of tasks for calculations performed by the application I have appointed. The scheme of operation on the principle of POOL, i.e. the group performing the same task by splitting it into subtasks.
- tasks will concern searching for private keys to create prefixes of empty addresses using the VanitySearch program, whose open source code is available here: [login to view URL]
- the contractor will receive a modified VanitySearch code (enabling setting his own search range) for the purposes necessary to perform the order, the final product of which will be ordered pool system working with the VanitySearch application.
- defining one task means indicating the scope of the scan area (so-called keyspace) using the indicated application in hex format (e.g. 040000000-04fffffff)
- the computer joining the system receives a reduced portion of the entire task to be searched and sends successively information about the progress of the scan via an internet connection
- It is permissible to use any technology that will easily and safely perform its function.
The goal is to improve the internal process of searching the scope for prefixes of empty BTC addresses according to the string of characters ordered by the customer.
DESCRIPTION TO SIMPLIFY THE OBJECTIVE OF EXISTING SUCH SYSTEM (for the purposes of description, let's call the current VanitySearch application, and the final product with the pool - VanitySearch2):
CURRENTLY: the VanitySearch application runs on a dozen or so remote computers on which it was necessary to manually set the searched batch of the task (--share X / Y command, where X is the search part and Y is the number of parts into which the task was divided). Using this variable - the application has specified the scope of the search (which is a subtask) and saves progress in the .txt file to eliminate the need to start from the beginning in the event of a system restart or other failure via the "--continue [login to view URL]" variable). Recording takes place every specified number of scanned keys, while checking whether this number has been reached takes place every two minutes, which gives ~ 2 records per hour. Finding the prefix you are looking for within the specified range results in dumping information about the location of the key in HEX to the [login to view URL] file.
All operations and records take place on the computer locally, which now requires the need to repeatedly connect to remote computers to check progress, and involves the loss of data in the event of any failure.
The whole is based on cooperation with the VanitySearch application. The point is that the computing power from different computers should work on solving the same task while excluding the risk of calculating ranges that have already been calculated by another machine. Thus, the order is associated with creating a poola (main computer, page or script) that issues ranges for VanitySearch calculations to each computer (e.g. from a database), and the computer on which VanitySearch works - after checking the released part of the task sends the answer back to the main computer, whether he found a solution and if so he gives it, but if not - it issues another range to scan and marks it as checked. That's the easiest way to describe it.
I am open to all kinds of possible solutions and changes in the concept, provided that the goal will be achieved the same
The condition of participation in the order is the acceptance of the principle of receiving payment for the product AFTER the system has been completed and tested in practice. Payment will be made immediately after confirmation.