This project consists of a server and various client implementations. The server takes the place of a traditional bitcoin mining program. Instead of using local hardware resources to compute hashes, the server will send work requests to clients via REST. The clients perform the work and respond with a short JSON message indicating the results.
The server implements the bitcoin getwork long-polling extension and uses threading to manage all concurrent client operations.