# NB01-F01 — adaptador de nodo y bootstrap autenticado

Implementación de desarrollo sobre la dirección N5 adoptada. Incluye admisión
por quórum del receiver, transporte HTTPS con pin, lectura Bor/Heimdall,
relaciones de finalidad/estado y floors SQLite. Los tests usan respuestas
**sintéticas**, también a través de TLS real en loopback. No se instaló ni
sincronizó un nodo Amoy, no se admitió un bootstrap real y no hay `XCIM_PASS`.

- [Contratos y algoritmo](https://xcim.org/standardization/nb01/CONTRACT.md).
- [Dependencias, alternativas y criterios de cierre](https://xcim.org/standardization/nb01/DEPENDENCIES.md).
- [Fuentes upstream fijadas](https://xcim.org/standardization/nb01/upstream-sources.json): review de API, no instalación.
- [Siete schemas](https://xcim.org/standardization/nb01/schemas/bootstrap.schema.json), [bootstrap sin configurar](https://xcim.org/standardization/nb01/bootstrap-template.json) y [mapa de archivos sin configurar](https://xcim.org/standardization/nb01/file-map-template.json).
- [Casos adversariales](https://xcim.org/standardization/nb01/vectors/cases.json), [base de wire sintética](https://xcim.org/standardization/nb01/vectors/base.json) y [casos estructurales](https://xcim.org/standardization/nb01/vectors/schema-cases.json).

Desde raíz del repositorio:

```text
python -m pip install -r docs/ietf/nb01/requirements.txt
python docs/ietf/nb01/tools/check_vectors.py
```

Desde el bundle extraído: usar `nb01/` en lugar de `docs/ietf/nb01/`.
Conservar hermanos an01/as01/p1/anchor-adapter. Instalación usa registros de
paquetes; los checks sólo usan loopback y archivos temporales de test.

El CLI [read_node.py](https://xcim.org/standardization/nb01/tools/read_node.py) requiere política local, bootstrap
firmado, contexto de contrato previamente aceptado, solicitud de lectura,
mapa de archivos reales y una DB de floors ya inicializada por el operador:

```text
python nb01/tools/read_node.py --policy receiver-policy.json --bootstrap signed-bootstrap.json --anchor-context accepted-anchor-context.json --request read-request.json --file-map local-file-map.json --floor-store receiver-floors.sqlite --clock-uncertainty 1
```

Es una forma de invocación, no archivos provisionados. El CLI no inicializa
trust/DB, no instala nodos, no firma, no envía transacciones y no acepta URLs
desde un email. El resultado positivo sólo significa consistencia contra el
nodo admitido, **no verificación propia de firmas BFT ni permiso XCIM**.

Claves y hashes de fixtures son PUBLIC TEST ONLY; no usarlos para bootstrap.
Las plantillas con nulls no pasan los schemas de admisión y no son policies
operables. Los paquetes AS01/AN01 anteriores conservan su significado.
