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.