Punto de Partida: Documentación
El primer lugar para empezar: doc/productivity.md y doc/developer-notes.md. Te ponen en marcha sobre cómo contribuir.
Puntos de Entrada
El bucle principal del demonio está en src/bitcoin.cpp (muy raramente tocado). src/init.cpp es el archivo de inicialización (~2,300 líneas): configuración, red, cadena de bloques, importación de bloques, inicio del nodo.
src/kernel/chainparams.cpp: parámetros para mainnet, testnet, signet, regtest. Constantes de consenso: PoW limit, despliegues, bloque génesis.
Ver mapa interactivo de archivosTransacciones y Primitivas
src/primitives/transaction.h define COutPoint, CTxIn, CTxOut, CTransaction. COutPoint referencia una salida. CTxIn tiene salida anterior, firma y witness. Son las primitivas fundamentales.
¿Qué es CTxIn?
Click para revelar
¿Qué hace init.cpp?
Click para revelar
src/script/: intérprete (interpreter.cpp), script.h con opcodes, miniscript, descriptores. EvalScript en interpreter.cpp evalúa scripts; tocarlo puede crear un hard fork.
Serialización: src/serialization.h: plantillas C++ para operaciones de lectura/escritura. Crítico pero raramente modificado.
EvalScript en interpreter.cpp: tocar este codigo puede crear un hard fork.
Checkpoint
¿Por qué EvalScript en interpreter.cpp es tan delicado de modificar?