bittensor-drand
Drand timelock encryption for Bittensor commit-reveal weights and general-purpose commitments. Rust core with Python bindings via PyO3.
What's new in 2.0
get_encrypted_commitis replaced byget_encrypted_commit_v2. The old modulo-based epoch math ((block + netuid + 1) / (tempo + 1)) is gone. The chain now uses a stateful epoch counter (SubnetEpochIndex), owner-triggered pending epochs, and configurable tempo. The new function simulates the chain'sblock_steppipeline to predict the exact reveal block.- Breaking change:
get_encrypted_commit_v2requires epoch schedule state instead oftempo + current_block + netuid. The SDK (bittensor>=11.0.0) provides this viasubtensor.get_epoch_schedule_state(netuid). - Added
encrypt_mlkem768andmlkem_kdf_idfor ML-KEM-768 + XChaCha20Poly1305 encryption.
Quick start
from bittensor_drand import get_encrypted_commit_v2
Installation
pip install bittensor-drand
For development (build from source):
git clone https://github.com/opentensor/bittensor-drand.git
cd bittensor-drand
python3 -m venv venv
. venv/bin/activate
pip install maturin bittensor
maturin develop
Usage: commit-reveal weights
Using the SDK (recommended)
The Bittensor SDK handles all the epoch state plumbing internally. You just call set_weights:
import bittensor as bt
sub = bt.Subtensor("local") # or "finney" for mainnet
wallet = bt.Wallet()
result, message = sub.set_weights(
wallet=wallet,
netuid=1,
uids=[0, 1, 2],
weights=[0.5, 0.3, 0.2],
wait_for_inclusion=True,
wait_for_finalization=True,
)
print(f"Success: {result}, message: {message}")
Using bittensor_drand directly
If you need lower-level control (custom clients, miners, tooling):
import bittensor as bt
from bittensor_drand import get_encrypted_commit_v2
sub = bt.Subtensor("local")
netuid = 1
current_block = sub.get_current_block()
# Fetch epoch schedule state from chain
schedule = sub.get_epoch_schedule_state(netuid, block=current_block)
reveal_period = sub.get_subnet_reveal_period_epochs(netuid=netuid)
uids = [1, 3]
weights = [100, 200] # u16 values after convert_weights_and_uids_for_emit
version_key = 843000
wallet = bt.Wallet()
commit_bytes, reveal_round = get_encrypted_commit_v2(
uids=uids,
weights=weights,
version_key=version_key,
last_epoch_block=schedule.last_epoch_block,
pending_epoch_at=schedule.pending_epoch_at,
subnet_epoch_index=schedule.subnet_epoch_index,
tempo=schedule.tempo,
blocks_since_last_step=schedule.blocks_since_last_step,
current_block=current_block,
subnet_reveal_period_epochs=reveal_period,
block_time=12.0,
hotkey=wallet.hotkey.public_key,
)
print(f"Encrypted commit: {len(commit_bytes)} bytes, reveal round: {reveal_round}")
General-purpose encryption
Encrypt a string for N blocks into the future
from bittensor_drand import get_encrypted_commitment
encrypted, reveal_round = get_encrypted_commitment(
"my secret data",
blocks_until_reveal=10,
block_time=12.0,
)
print(f"Encrypted: {len(encrypted)} bytes, reveal at round {reveal_round}")
Encrypt / decrypt binary data (round-trip)
from bittensor_drand import encrypt, decrypt
encrypted, reveal_round = encrypt(b"binary payload", n_blocks=5, block_time=12.0)
# Later, after the reveal round has passed:
decrypted = decrypt(encrypted, no_errors=False)
Encrypt for a specific Drand round
from bittensor_drand import encrypt_at_round
encrypted, reveal_round = encrypt_at_round(b"payload", reveal_round=17200000)
Batch decryption with a pre-fetched signature
When decrypting multiple ciphertexts for the same round, fetch the signature once:
from bittensor_drand import decrypt_with_signature, get_signature_for_round
sig = get_signature_for_round(reveal_round=17200000)
plaintext = decrypt_with_signature(encrypted, sig)
ML-KEM-768 encryption
For post-quantum key encapsulation (used by the chain's NextKey rotation):
from bittensor_drand import encrypt_mlkem768, mlkem_kdf_id
# pk_bytes: 1184-byte ML-KEM-768 public key from NextKey storage
blob = encrypt_mlkem768(pk_bytes, b"plaintext", include_key_hash=True)
# Blob format (include_key_hash=True):
# [key_hash(16)][u16 kem_len LE][kem_ct][nonce24][aead_ct]
kdf = mlkem_kdf_id() # b"v1" — raw shared secret, no HKDF
Testing on a local subnet
- Start a local subtensor node with configurable tempo support:
LOCALNET_IMAGE_NAME=ghcr.io/opentensor/subtensor-localnet:pr-2638 ./scripts/localnet.sh
-
Create a subnet and configure hyperparameters:
- Set
commit_reveal_weights_enabledtoTrue - Set
tempoto your desired value (e.g.360) - Set
weights_rate_limitto0(for faster testing)
- Set
-
Register a wallet to the subnet.
-
Run a weight-setting script:
import bittensor as bt
from bittensor import logging
logging.set_info()
sub = bt.Subtensor("local")
wallet = bt.Wallet()
result, message = sub.set_weights(
wallet=wallet,
netuid=1,
uids=[0],
weights=[1.0],
wait_for_inclusion=True,
wait_for_finalization=True,
)
logging.info(f"Result: {result}, message: {message}")
- Wait for the reveal epoch, then verify weights were applied:
import bittensor as bt
sub = bt.Subtensor("local")
print(sub.weights(netuid=1))
API reference
| Function | Description |
|---|---|
get_encrypted_commit_v2(...) |
Encrypt weights for commit-reveal using stateful epoch model |
get_encrypted_commitment(data, blocks, block_time) |
Timelock-encrypt a string |
encrypt(data, n_blocks, block_time) |
Timelock-encrypt binary data |
encrypt_at_round(data, reveal_round) |
Encrypt for a specific Drand round |
decrypt(data, no_errors=True) |
Decrypt (auto-fetches Drand signature) |
decrypt_with_signature(data, sig_hex) |
Decrypt with a pre-fetched signature |
get_signature_for_round(round) |
Fetch Drand BLS signature for a round |
get_latest_round() |
Get the latest Drand round number |
encrypt_mlkem768(pk, plaintext, hash) |
ML-KEM-768 + XChaCha20Poly1305 encryption |
mlkem_kdf_id() |
Returns KDF identifier (b"v1") |
Build & test
pip install maturin
maturin develop
cargo test
pytest tests/ -v
Metadata
Release files for bittensor-drand 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bittensor_drand-2.0.0.tar.gz | 53.6 kB | Details |
Built distributions (wheels)
Total release size: 48.3 MB
Release files / bittensor_drand-2.0.0.tar.gz
| Download URL | bittensor_drand-2.0.0.tar.gz |
|---|---|
| Size | 53.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
517cd8cabb4634a980e26aaf85ac0a8481f62fefadc0499ddbadb6467ae030c7
|
|
BLAKE2b-256 checksum How to use checksums |
70c8f1fdee0f0f5088585d6804a0099554f66834fd6d7347b921a0fedfc18e73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a7c529fbcf8671bb4135bf8873d71f40dd6fdc70ba063daaf68311a1a923d6b3
|
|
BLAKE2b-256 checksum How to use checksums |
c7e8e1af3b9291be5d3190e327496874979d42f1bdd9d21dac1c2c3faee08ec9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | bittensor_drand-2.0.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
de155b230d8b054d6b2f806b9bc4bfe1e07b20bcde5a9634bb03e2c4ada98240
|
|
BLAKE2b-256 checksum How to use checksums |
eca130084716f90ddd90bdc9b71108a0579197d5e0706b2427a9a37970147a08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | bittensor_drand-2.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
41f948f6f44ce93040d43f1fd2a1c50398a9631e0577225b3966e4eb789ea9e4
|
|
BLAKE2b-256 checksum How to use checksums |
26abd6a5170945f94986c3ae93a0511186983e5dcc6cb31e39fe789955168a96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
3d1c96a56bfedd7ce534414761b6067a3ee41c317b7034f3ee24c753170bed10
|
|
BLAKE2b-256 checksum How to use checksums |
dee6cfd0a3d0a8d78f9355af6d28125406f42e7ccd25ffebcc3c71e6321be9d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | bittensor_drand-2.0.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
fdb890fd763d826d5e521c5f48106e45220e2d4ae99e237ba605ca5dd7b6f185
|
|
BLAKE2b-256 checksum How to use checksums |
361b2df62decb435f8d47183f87f167dc395a4501365a165f60f77035e465822
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | bittensor_drand-2.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
1809d01fedffc40484df10c57f7713984ba80fb436e2aaed734a39684dc54e74
|
|
BLAKE2b-256 checksum How to use checksums |
f2336ccc89677aa5f83865ef1782d4672b9f34ea038e78e1242534dbf1a22518
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | bittensor_drand-2.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6811e7a272e88a5a2f864efdac5a00f50f692d77c9e1124a477af4f33b1fca08
|
|
BLAKE2b-256 checksum How to use checksums |
2b2ae90c48c234ab3984f70cf2c5d4c3787dfd211fd42cef288109223cb82774
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
e76222d927c18eaa7bf28fa3130bbe55d9d88d8146233182b1d8e5209dce2d86
|
|
BLAKE2b-256 checksum How to use checksums |
167358a286ce03e9c01184064140417acff848384d90b7b0fbe0c9342022ef6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
867fa67a2971f925119215c6c75b8c707984d01516edec4c5e1f3cb224acd665
|
|
BLAKE2b-256 checksum How to use checksums |
bfb0e9aa90650f538a9e594f3aa1b1d7da2a6fd636777be7984e24fc5cc2283c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | bittensor_drand-2.0.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
0e000eea5b2908357e70992fbed081fbc7ce55349a7dc2a6d22bc30f5a57b257
|
|
BLAKE2b-256 checksum How to use checksums |
8d6c3183802e40b61ec11768a023c3cf9de4fd81091e7910049daa7792b876c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | bittensor_drand-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
579f6209c902f012b2bdaa6a55aebc95d8937fb47183482233ea75d0cbae90ca
|
|
BLAKE2b-256 checksum How to use checksums |
cdc519214245ca3f43dfd1bf5d37f5dedad0207ea607c5bd86269289d2ce5713
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | bittensor_drand-2.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
77e4b605b513db5a02056358f1697ea5bda5debf35530d97f6dd35b063ee8d2d
|
|
BLAKE2b-256 checksum How to use checksums |
5ea7221beaea41ba74d27061f9057df336b373fbc1f42cf564af969f642233de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
f492650fe5fb9c70eb612f886d687c010faddde10f1557d1a598b486bd6dcaf6
|
|
BLAKE2b-256 checksum How to use checksums |
f8cc67d5a2718b1c26774fde2a24eb58686c41d4947229fe504ffa84c1f86143
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f7cbb1319723267aca8d3f301553c8d3bf9dc16eda78993f8058b46e3ef47031
|
|
BLAKE2b-256 checksum How to use checksums |
35b43d8c390398b8dd397182208e53daea30f5f7ef5305f98fb4ef0aa052f36d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | bittensor_drand-2.0.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
5d9ef322362482e17c2077cfbc1c220cc37c8765b1a90f6d80f7fc85048aa05e
|
|
BLAKE2b-256 checksum How to use checksums |
f073fe8cd26bccf7961ad43a0143a57c508c4810207c1282dec1c810ed966da1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | bittensor_drand-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
32c2f091c22a654158696318df151aa305368002c339eff0b6f3e572f4abb135
|
|
BLAKE2b-256 checksum How to use checksums |
100bb9aa83003db19b9c7835b80d70b535651a6081d177b4b91ba07c929e2270
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | bittensor_drand-2.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2ae23da52d290e37869bc2558bb6850fc659641078bbaf192619373007a50579
|
|
BLAKE2b-256 checksum How to use checksums |
261ca212178630706eea1aa6f15a03bfe834356f42cc6968ca1d98bffbbc3819
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
c640fe4bc0244be6d5a515574eab6cc9b1f9b4139790b4562bf66aaff43d7b42
|
|
BLAKE2b-256 checksum How to use checksums |
955a625544a75e5252715197b9fadfc049b9473a0a0bf3601994324f5a273905
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
dfa69a38a9dd7b66304062929193e32825439c17bb518aec4e04562209c116f4
|
|
BLAKE2b-256 checksum How to use checksums |
ccf7c40ee4ae641b645871a71b9bafbc0a717d98b28232cd6f4fac3332823192
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | bittensor_drand-2.0.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
e2efdd10cd53e883424d262a9df2149adacbd69eb16886bb930f4800447529ff
|
|
BLAKE2b-256 checksum How to use checksums |
a106f8d6f00ad066a0eb0fc36d9af45813e6f71d5002a9ff5cb60bffccd78034
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | bittensor_drand-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
04510b38f7e7db2cc52ec3ac3861315a2b2df8a67231b6082f85252083eea1c3
|
|
BLAKE2b-256 checksum How to use checksums |
10023e7afe90c6b2540a8e01d06e9a0f13383ae4b2fbb2a415d33b7322b31b62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | bittensor_drand-2.0.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
78491ebc4e2c4b3624b3e5e0490bd71559641138bb37a789cb6d3c1cf826c6ec
|
|
BLAKE2b-256 checksum How to use checksums |
bce98d8ba7626ca2d02da5302964f8d35d1dec9514d81d4d065a683a83303cbb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|
Release files / bittensor_drand-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl
| Download URL | bittensor_drand-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0c7fda87f64acf8e9fa0381c510b384b8fdd1aae2abde3ceb445cd61591623e3
|
|
BLAKE2b-256 checksum How to use checksums |
0c7cbbbfc79fb900d83b22b9b798f0b7811f1e5bd25d35437edccbfddf1538eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
maturin/1.14.0
|