The cardano-node repository is the point of integration of the ledger, consensus, networking and logging layers. It provides the cardano-node executable which is used to participate in the Cardano network.
This is an approximate diagram of the dependencies among the different components:
stateDiagram-v2 cn: cardano-node tr: trace-dispatcher/iohk-monitoring-framework ca: cardano-api co: ouroboros-consensus on: ouroboros-network cl: cardano-ledger p: plutus cn --> ca cn --> tr ca --> co ca --> on co --> on co --> cl ca --> cl cl --> p The process for getting a cardano-node executable can be found in the Cardano Developer Portal.
The configuration and files required to run a cardano-node in one of the supported networks are described also in the Cardano Developer Portal.
The API documentation is published on the webpage. If you want to use the cardano-node Haskell packages from another Haskell project, you should set up CHaP to get the packages defined in this repository.
For some troubleshooting help with building or running cardano-node, the wiki has a troubleshooting page that documents some common gotchas.