Currently, you set data set / piece metadata on creation, and can't change it afterwards. If you need to change it, you end the existing deals and re-upload with changed metadata. That is cumbersome.
Use cases require changing meta data, e.g.: I would like to enable CDN for a data set after I have created it.
Evaluate, whether changing metadata is the right way (could be very complex) or what the alternatives are:
- keep metadata constant / fixed and rather change the abstractions around it so that enabling CDN doesn't mean changing metadata.
- build tooling that handles the migration of pieces to new data sets with updated metadata (could even live directly in curio, since the data is there)
Changing metadata could be complex, because it affects the ongoing payment rate. Tools need to be notified of the changes (through contract events). Tooling built around filecoin services is built on the assumption that metadata is constant.
The spec should have a proposal not just for how to change the smart contracts, but
- how to upgrade them live
- how to update related tooling
- filozone/synapse-sdk
- filecoin-project/curio
- filecoin-project/filecoin-pin
- filbeam/worker
- filbeam/contracts
Currently, you set data set / piece metadata on creation, and can't change it afterwards. If you need to change it, you end the existing deals and re-upload with changed metadata. That is cumbersome.
Use cases require changing meta data, e.g.: I would like to enable CDN for a data set after I have created it.
Evaluate, whether changing metadata is the right way (could be very complex) or what the alternatives are:
Changing metadata could be complex, because it affects the ongoing payment rate. Tools need to be notified of the changes (through contract events). Tooling built around filecoin services is built on the assumption that metadata is constant.
The spec should have a proposal not just for how to change the smart contracts, but