-
Notifications
You must be signed in to change notification settings - Fork 387
Storage Node
Storage Node implements piece storing on the network.
- Kademlia
- Piecestore
- Pieces
- Trust
- Monitor
- Orders
- Bandwidth
- Collector
- Inspector
Kademlia provides network discovery and broadcasting. It allows new peers to find information on the network and satellites to find new storage nodes.
Storage Node also uses Kademlia network to broadcast it's own status to satellites.
Is the endpoint that implements data transfer protocol. It allows uplinks to upload and download data from the storage node.
Piecestore contains logic to validate order limits, orders and piece hashes.
Piecestore uses Pieces to store the data and Trust to verify allowed peers. It updates Bandwidth, Orders and other databases while uploading/downloading.
Pieces system handles writing and reading pieces from the blob store. It also provides ways to keep track of pieces meta data.
Trust system contains logic for trust logic. It contains the validation logic for satellites and uplinks.
Monitor checks every interval how much free disk space there actually is and updates Kademlia as necessary.
Orders system keeps track of order limits and orders and every interval settles them with the Satellite.
Bandwidth system keeps track of bandwidth usage as reported by order limits and orders.
Collector system implements expired piece deletion from storage node.
Inspector provides a private endpoint for monitoring status of the storage node.