diff --git a/CIPs/cip-147.md b/CIPs/cip-147.md new file mode 100644 index 0000000..cf9f868 --- /dev/null +++ b/CIPs/cip-147.md @@ -0,0 +1,79 @@ +--- +cip: 147 +title: Swap Stream +author: Aaron Goldman (@aarongoldman), Mohsin Zaidi (@smrz2001) +discussions-to: +status: Draft +category: +created: 2023-08-21 +edited: 2023-08-23 +requires: +replaces: +--- + + + + + + + + + + + + + + + + + +## Simple Summary +A new stream type where the stream state corresponds to the latest event. + +## Abstract +A Swap Stream enables you to replace the entire content of a stream. This is different from existing Ceramic streams, +which consist of a sequence of PATCH operations that must all be considered in order to determine the state of the +stream. + + +## Motivation +When dealing with a Patch Stream, aggregating the stream state requires following events back to the Init Event. A Swap +Stream SWAP operation allows a Ceramic node to ignore previous data in the stream, and a STOMP operation allows the node +to ignore previous headers and data. This removes the need to constantly follow events back to the Init Event. + + +## Specification + +Specification goes here. + + +## Rationale + +Rationale goes here. + + +## Backwards Compatibility + +Backwards compatibility goes here. + + +## Implementation + +Implementation goes here. + + +## Security Considerations + +Security considerations go here. + + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).