To make it as easy as possible for Streamr users to publish streams on Ocean Marketplace, I decided to build a Chromium extension. Streamr users can publish their streams directly in the Streamr Core application without using other websites or services. The extension for Chromium browsers is seamlessly integrated into the look & feel of the Streamr Core app.
What it does
The browser extension injects the functionality and design for stream publishing directly into the Streamr Core app. This is how the publishing function feels natively implemented.
- The visual and technical integration into the Streamr Core app was a major challenge.
- During the development the focus was on the implementation of a bridge between Streamr Network, Sia and Ocean Protocol. The publishing process of a Streamr stream explained in three single steps:
- Extract static content from a selected Streamr stream
- Upload the stream snapshot to Skynet (Sia), get an encrypted file url
- Use Ocean Protocol to publish the data set on Ocean Market
Accomplishments that I'm proud of
- Visually and technically matches the Streamr Core app
- Publishing process status messages
- TypeScripted source code
- Very easy to use
What I learned
How the Ocean Protocol is structured and how
ocean.js should be used. The community on Discord is great.
And of course I got to know about Streamr Network and the Streamr Client. I even created and published some streams, e.g. Ethereum Gas Prices.
The following features are planned for one of the following releases:
- Generate a sample file
- Time range (timestamp - timestamp) for stream snapshots
- Consideration of multiple partitions for streams
- Prefill form input fields with stream infos