Inicio Rápido
Pon los contratos de BLOK Capital a compilar y probar localmente, y sabe hacia dónde ir después.
Antes de empezar#
BLOK Capital V1 aún no se ha desplegado en mainnet (consulta Direcciones de Smart Contracts para conocer el estado actual), así que construir hoy significa trabajar contra una copia local, no contra una red en vivo. Todo lo que sigue te lleva desde un clon recién hecho hasta una suite de pruebas que pasa.
Lo que necesitas#
- Foundry (
forge,cast,anvil) - Git
Clonar e instalar#
Los contratos viven en github.com/BLOKCapital/blokc-v1-core. Las dependencias se traen como submódulos de git, no a través del gestor de dependencias propio de Foundry, así que clona con --recursive:
git clone --recursive https://github.com/BLOKCapital/blokc-v1-core
cd blokc-v1-coreSi ya clonaste sin --recursive, trae los submódulos después en lugar de volver a clonar:
git submodule update --init --recursiveCompilar y probar#
forge build
forge testLos facets viven bajo src/garden/facets/: los facets base (ownership, cut, upgrade, loupe) en baseFacets/, y cada integración DeFi en utilityFacets/<chain>/, una carpeta por cadena (arbitrumOne, avalanche, ethereum). Las pruebas viven en la ruta equivalente bajo test/. Si solo estás trabajando en un facet, ejecuta únicamente sus pruebas:
forge test --match-contract OwnershipFacetTestConsulta la Guía: Crear un Nuevo Facet de Diamond para la convención de carpetas y archivos de un facet antes de añadir algo nuevo. Ten en cuenta que la convención de carpetas de pruebas de la guía está desactualizada: las pruebas actuales se organizan en subcarpetas unit/, fuzz/ e invariant/ por facet, no en la estructura plana que describe la guía.
Antes de tocar cualquier cosa con su propia librería de almacenamiento, ten en cuenta que forge test ya ejecuta tres protecciones de seguridad de almacenamiento en cada suite de pruebas: detectan colisiones de slots y evitan que renombres por accidente una librería de almacenamiento que ya está desplegada. Si alguna falla, no la ignores, consulta Consideraciones de Seguridad para entender por qué existe.
Probar contra un fork#
Algunas de las protecciones del protocolo, como las verificaciones de oráculos del rebalanceador de Index, están definidas contra direcciones reales desplegadas en la cadena donde vive cada Jardín. Para ejercitar ese camino de código con fidelidad, ejecuta tus pruebas contra un fork de la cadena correspondiente en lugar de una cadena local limpia:
forge test --fork-url <url-rpc-de-esa-cadena>A dónde ir después#
- Arquitectura del Protocolo V1 para ver cómo encajan las piezas.
- Smart Contracts para la referencia completa: punto de entrada, registro de facets, diseño del almacenamiento y un orden de lectura sugerido a través del repositorio.
- Consideraciones de Seguridad antes de escribir o revisar cualquier cosa que toque fondos.
Última actualización:
Editar esta página (opens in a new tab)