const response = await fetch(
'/assets/data/fleet.json'
);
if (!response.ok) throw new Error('Request failed');
const fleet = await response.json();
console.log(fleet.hashrate_th_s); // 600 (sample)# Run the local preview server first:
# python3 -m http.server 8000
curl --fail --show-error \
http://localhost:8000/assets/data/fleet.jsonimport json
from urllib.request import urlopen
url = 'http://localhost:8000/assets/data/fleet.json'
with urlopen(url, timeout=10) as response:
fleet = json.load(response)
print(fleet['hashrate_th_s']) # 600 (sample)1. Serve the site
The website is already built. For local preview, extract the package into a folder, open a terminal in that folder, and run:
python3 -m http.server 8000
Then open http://localhost:8000/ in your browser. Serving over HTTP allows clean directory URLs and the local JSON loader to behave as they do on static hosting. Python is only a convenient preview tool, not a production dependency.
2. Load a public sample
The JavaScript example on this page requests /assets/data/fleet.json from the same site. The cURL and Python tabs target the local preview server from step one. The “Load sample JSON” button performs a real read of the bundled file and displays the returned object.
The response is marked demo: true. Its fixed timestamp and measurements describe an invented four-worker scenario, not a live mining operation. No API key or account is required because the sample is intentionally public.
3. Inspect the files
The fleet summary exposes compatible sample totals. The worker records preserve individual states and a nullable temperature. The history file contains twelve fictional observations for each of three windows.
Use the API reference for exact field meanings. There are no POST endpoints, query-based filters, real-time streams, or rate-limit promises. Files are served by the static host rather than a separate application service.
4. Check assumptions in your client
Check the HTTP status before parsing. Validate the fields your client uses. Keep absent values separate from numerical zeros. Surface a loading failure rather than leaving an old number looking current. Do not infer a healthy hardware state from a successful file request.
For an exercise, make a local copy of the worker sample and change a supported field to null. Update your prototype to show an explicit unavailable state. Keep this test file separate from the published fixtures so their documented totals remain consistent.
5. Plan a real integration separately
A production collector needs an actual upstream interface, suitable access controls, secret management, data storage, and failure handling. Public browser code cannot keep device credentials secret. Keep read-only observation and privileged control as distinct systems.
Read the secure mining API guide and the integration map before replacing a fixture with a real service. The static site's examples do not imply that a commercial API or managed mining service has been provisioned.
Other downloads
The AI log-review prompt is a plain-text reference. It does not call a model or process logs on this site. The RSS feed contains full articles, and the sitemap lists the public pages.