Capability allows an agent to add an arbitrary DAG (root) to the upload list of the specified (memory) space (identified by did:key in the with field). It is recommended to provide an optional list of shard links that contain fragments of this DAG, as it allows system to optimize block discovery, it is also a way to communicate DAG partiality - this upload contains partial DAG identified by the given root.

Usually when agent wants to upload a DAG it will encode it as a one or more CAR files (shards) and invoke store/add capability for each one. Once all shards are stored it will invoke upload/add capability (providing link to a DAG root and all the shards) to add it the upload list.

That said upload/add could be invoked without invoking store/adds e.g. because another (memory) space may already have those CARs.

Note: If DAG with the given root is already in the upload list, invocation will simply update shards to be a union of existing and new shards.

Generated using TypeDoc