/ doc / src / arch / tooling.md
tooling.md
 1  # Tooling
 2  
 3  ## DarkFi Fullnode Daemon
 4  
 5  `darkfid` is the darkfi fullnode. It manages the blockchain, validates
 6  transactions and remains connected to the p2p network.
 7  
 8  Clients can connect over localhost RPC or secure socket and perform
 9  these functions:
10  
11  * Get the node status and modify settings realtime.
12  * Query the blockchain.
13  * Broadcast txs to the p2p network.
14  * Get tx status, query the mempool and interact with components.
15  
16  `darkfid` does not have any concept of keys or wallet functionality.
17  It does not manage keys.
18  
19  ## Low Level Client
20  
21  Clients manage keys and objects. They make queries to `darkfid`, and
22  receive notes encrypted to their public keys.
23  
24  Their design is usually specific to their application but modular.
25  
26  They also expose a high level simple to use API corresponding
27  **exactly** to their commands so that product teams can easily build
28  an application. They will use the command line tool as an interactive
29  debugging application and point of reference.
30  
31  The API should be well documented with all arguments explained.
32  Likewise for the commands help text.
33  
34  Command cheatsheets and example sessions are strongly encouraged.