This release is a pre-release and may not be stable for production use.
attested-relay-timelock
This package bundles the native Rust RandomX v2.0.1 generator, solver, checkpoint
journal, calibration, and archive decryption commands in a platform wheel.
It has no Python substitute for RandomX. Build the wheel from this complete
repository with pip wheel --no-deps ./python/attested-relay-timelock (Rust,
CMake, and a C++ compiler are required). Source-only PyPI installation is not
supported; publish the platform wheels after native validation on each platform.
attested-relay-timelock calibrate --mode full --samples 10000
attested-relay-timelock solve --manifest puzzle.json \
--service-public-key ATTESTATION_VERIFIED_ED25519_HEX \
--checkpoint epoch.jsonl --key-out epoch.key
attested-relay-timelock decrypt-record --manifest puzzle.json \
--service-public-key ATTESTATION_VERIFIED_ED25519_HEX \
--epoch-key epoch.key --record ciphertext.json --plaintext-out record.json
Re-run the identical solve command after a restart to resume. The append-only journal preserves completed entries after interrupted writes. Checkpoint digests detect accidental corruption; checkpoints are local progress hints, and a malicious writer can waste computation but cannot produce a returned key without passing the segment AEAD and published epoch-key commitment. Protect the journal directory.
The public key is a required independent trust pin, obtained from verified attestation or a previously verified archived identity. A manifest's self-reported signer does not establish trust.
light mode uses the genuine RandomX algorithm with a 256 MiB cache and computes
dataset items as needed. full uses a shared 2080 MiB dataset for faster execution.
Both produce identical hashes. Production iteration counts must be calibrated in
full mode on the reference CPU, compiled into the enclave image, and measured
under seven-worker load. Short tests never establish a seven-day delay.
Continuous solving uses verified historical bundles and the paginated all-artifact index, restarting discovery from its first page each poll so newly inserted hashes are not missed:
attested-relay-timelock follow https://relay.example --expected-pcr0 PCR0_HEX \
--state-dir ./solver-state --max-workers 7
Install the follow extra (and the matching attested-relay package). Each bundle
must pass archived Nitro identity verification before its independently authenticated
service key is handed to the native solver. Seven full-mode solvers require roughly
16 GiB for datasets/caches plus process overhead. Existing verified keys are reused;
failed solvers preserve checkpoints and are retried on later discovery scans. Keys
are stored locally; this command does not publish them to an external service.
Release files for attested-relay-timelock 0.2.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| attested_relay_timelock-0.2.0a1-py3-none-manylinux_2_34_x86_64.whl | Python 3 | none | Linux glibc 2.34+ x86-64 | Details |
| attested_relay_timelock-0.2.0a1-py3-none-manylinux_2_34_aarch64.whl | Python 3 | none | Linux glibc 2.34+ ARM64 | Details |
| attested_relay_timelock-0.2.0a1-py3-none-macosx_15_0_arm64.whl | Python 3 | none | macOS 15.0+ ARM64 | Details |
Total release size: 1.7 MB
Release files / attested_relay_timelock-0.2.0a1-py3-none-manylinux_2_34_x86_64.whl
| Download URL | attested_relay_timelock-0.2.0a1-py3-none-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 622.7 kB |
| Tags | Linux glibc 2.34+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
ab7e3a2bb0367ea9525b84cf32ce828044d5ca351688094b8c1999fc60fefdc6
|
|
BLAKE2b-256 checksum How to use checksums |
9368446896f7a4403d81177b093a5b2062fc7b0989609e1150c94a50a3ca2e83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / attested_relay_timelock-0.2.0a1-py3-none-manylinux_2_34_aarch64.whl
| Download URL | attested_relay_timelock-0.2.0a1-py3-none-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 566.1 kB |
| Tags | Linux glibc 2.34+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
dd1f3dd6791bb9c8bfeccd1ae13487d8d0c3bd5af90efecbc833c57a2e26a7dd
|
|
BLAKE2b-256 checksum How to use checksums |
1f89a63b52226957adbfc589d701480cf1ceb23fc1d6b57cbb51019e95ca12ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / attested_relay_timelock-0.2.0a1-py3-none-macosx_15_0_arm64.whl
| Download URL | attested_relay_timelock-0.2.0a1-py3-none-macosx_15_0_arm64.whl |
|---|---|
| Size | 545.6 kB |
| Tags | Python 3 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4d0570c6e6d39832fc687660e73cd7f32a347247c7d238fa0f006bc632a0dec4
|
|
BLAKE2b-256 checksum How to use checksums |
26c63779aa1e99be3605282e8edd4a17166584c9533efed5fea5cb59e02c124d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|