| Crates.io | s3p-core |
| lib.rs | s3p-core |
| version | 0.1.0 |
| created_at | 2025-10-07 05:51:01.259498+00 |
| updated_at | 2025-10-07 05:51:01.259498+00 |
| description | BlockNet S³P core: chunking, AEAD, RS erasure, Merkle |
| homepage | https://github.com/toxadab/s3p-core |
| repository | https://github.com/toxadab/s3p-core |
| max_upload_size | |
| id | 1871239 |
| size | 102,716 |
Минимальное ядро для BlockNet S³P:
unzip s3p-core-step-a.zip
cd s3p-core
cargo test
Ожидаемый результат — прохождение теста end_to_end_with_losses_and_merkle.
s3p-core/
Cargo.toml
src/
lib.rs
errors.rs
types.rs
chunk.rs
aead.rs
rs.rs
merkle.rs
tests/
step_a_pipeline.rs
parity_shards всё восстанавливается.Откройте tests/step_a_pipeline.rs и правьте:
chunk_size — размер чанка (байт).data_shards, parity_shards — параметры Рида–Соломона (чем больше parity, тем выше устойчивость).~33% в примере; можно менять по своему сценарию.payload_len и/или chunk_size.Добавим слой преобразования (Identity→Walsh-Hadamard) и фонтанные пакеты (LT-style).
Опишем SeriesCommit и JSON-кодек, подготовим scid.
Интеграционные тесты с libp2p (Node.js harness).
Если видите сообщение наподобие:
package
s3p-coredepends onchacha20poly1305with featurexchacha20butchacha20poly1305does not have that feature
Просто используйте зависимость без фичи xchacha20 (в проекте уже поправлено):
chacha20poly1305 = "0.10"
Затем выполните:
cargo update
cargo clean
cargo test