doc: add arch/tooling section

This commit is contained in:
x
2022-10-18 05:50:50 +00:00
parent e99ba05291
commit 7598362fb9
2 changed files with 37 additions and 0 deletions

View File

@@ -14,6 +14,7 @@
- [Blockchain](architecture/blockchain.md)
- [DNA](architecture/dna.md)
- [Smart Contracts](architecture/smart_contracts.md)
- [Tooling](architecture/tooling.md)
- [Client](clients/clients.md)
- [darkfid JSON-RPC API](clients/darkfid_jsonrpc.md)
- [cashierd JSON-RPC API](clients/cashierd_jsonrpc.md)

View File

@@ -0,0 +1,36 @@
# Tooling
# DarkFi Fullnode Daemon
`drkd` the darkfi fullnode. It manages the blockchain, validates transactions
and remains connected to the p2p network.
Clients can connect over localhost RPC or secure socket and perform these functions:
* Get the node status and modify settings realtime.
* Query the blockchain.
* Broadcast txs to the p2p network.
* Get tx status, query the mempool and interact with components.
`drkd` does not have any concept of keys or wallet functionality. It does not
manage keys.
# Low Level Client
Clients manage keys and objects. They make queries to `drkd`, and receive notes
encrypted to their public keys.
Their design is usually specific to their application but modular.
They also expose a high level simple to use API corresponding **exactly** to
their commands so that product teams can easily build an application. They will
use the command line tool as an interactive debugging application and
point of reference.
NOTE: should the API use byte arrays or hex strings?
The API should be well documented with all arguments explained. Likewise for the
commands help text.
Command cheatsheets and example sessions are strongly encouraged.