Dev Update August + September
Welcome to our Dev Update covering August and most of September. The first thing you might notice is that I’m not Aapeli! As Streamr’s new Head of Developer Outreach, I’ve taken over the writing of these updates, hence the delay in getting this out at the usual time. My new role will involve getting developers around the globe engaged with the Streamr stack and growing our technical community. That’s why earlier this month I helped organise Streamr’s first Hackathon in Mexico City. By the way, our next dev event will be Web3 Summit in Berlin on October 22–24, where we will be running a hackerspace node and hosting workshops. Additionally, we will be sponsoring Status hackathon CryptoLife in Prague on October 26–29, so come join us if you’re in town!
Let’s get stuck in.
During the last month-and-a-half, our developer team focused on improving our existing platforms (Editor and Marketplace) but also started tackling our core mission - building a decentralized realtime data network. If you haven’t read about our Network milestones, please take a look at this blog post. We’re definitely entering an exciting period ahead.
A lot of research and testing are needed to build the Network and many components are still a work-in-progress. For example, there was a question on Reddit regarding potential historic data storage service on decentralized nodes. It is something we’ve discussed internally but have not locked down yet. There could be potential integration with existing services like IPFS, Swarm, Filecoin or we might even build our own storage nodes for gradual decentralization.
Miroslav and Eric are leading the charge on the off-chain Network infrastructure, while Juuso is tackling the on-chain front, testing potential implementations that can handle high volume micro-transactions processing. A modified version of Plasma could be a potential candidate. Indeed, success on this front will also be tied to our ability to democratise the revenue sharing model by allowing on-chain payments to be sent directly to individual participants automatically, instead of large third party data aggregators as it happens today.
It is important to keep in mind that while developers are working hard to push our product forward, other teams are coordinating in tandem to make sure that when the Network is completed, there will be partnerships in place and a strong community that is ready to jump on the wagon.
- Created prototype of network, with wrapper on top of libp2p
- Continued working on network architecture and streamr network protocol
- Working on tracker and nodes, protocol messaging
- Implemented first version of producer and subscriber
- Unit and integration tests
- Start working on Streamr Network which Miroslav has already started
- Fork Data API and build a version of it that integrates with Streamr network. This new version is called broker.
- Multiple bug fixes and refactorings to network code.
- Set up Travis CI for Streamr network.
- Work on architecture and terminology sections of README for consistency in language and mutual understanding of how to build system.
- Build a CLI tool that can listen to streams
- Fix script that produces data for “Kraken cryptocurrency market-data” product
- Cloud-Broker application-level metrics
- Data API application-level metrics
- API endpoints for CSV upload
- Allow admin to stop canvas
- API endpoint to start canvas as admin
- Application-level metrics
- Show user’s permission in api listing endpoints
- Fix streamr-docker-dev tool database dump
- Fix Data API Dockerfile by updating node.js version
- Userpages reverse proxy support
- Mobile purchase support for Marketplace
- StreamSelector fixes
- Various bug fixes
- Add more guidance to buying process
- Canvas Editor Toolbar Stub
- Canvas Editor Module Layout, Drag/Drop Positioning & Save
- Canvas Editor Port Layout, Connection Logic & Drag/Drop
- Userpages/marketplace/editor planning & discussions
- Feasibility testing for combined streamr-platform
- End-to-end test workflow
- New change password UI
- Generic Docker entrypoint
- Watcher in STG
- Server metrics (Disk use, CPU, memory)
- Reconfigure Geth Server for space optimization
- Engine editor memory
- Secret Management
- Nginx logs monitoring
- Watcher in STG
- Server metrics (Disk use, CPU, memory)
- Continue discussion about metrics and monitoring
- Add Canvas.startedBy
- Specify exact versions for network dependencies for reliable reproducible builds
- E&E Monitoring tools
- E&E Administrative tools
- WIP: E&E Render all timestamps client-side and remove user timezone field
- Data API: Refactoring and share IntelliJ run configs
- Researching different implementations of Plasma and other Ethereum sidechains
- Researching different kinds of Ethereum micro-payment and scaling technologies
- Researching blockchain scaling technologies elsewhere (like Lightning)
- Ethereum evangelism at Instituto Tecnológico Autónomo de México (ITAM) and Universidad Nacional Autónoma de México (UNAM), two top Mexican universities
- Promoting Streamr and Ruuvi at MxHacks V, a nationwide hackathon in Mexico City
- Proof-of-concepting side chains based on Plasma, for the purpose of enabling sharing the revenues of a Marketplace product among many producers. It is a problem related to micropayments, but luckily slightly simpler
- Started implementing our own MonoPlasma solution (plasma with monotonically increasing accounts) to the simplified problem. The upside of the technical trade-off is that withdraws can be instantaneous from the user’s perspective (no need for a challenge period)
- Data supplier integrations to Streamr platform
- Create a shared I18n library and use it for both the landing page and the Marketplace
- Move commonly used translations into streamr-layout module
- Fix navigation dropdown toggles
- Update team member list
- Merge streamr-layout module into streamr-platform app (work in progress)
- Finish the new auth pages and prepare them for deployment
- Redo team carousels on the “About Us” page
- Set up and deploy Spanish version of the landing page
- Metamask forwards/backwards compatibility
- Main marketplace view responsive design enhancements
- User pages reactstrap update
- Refactor the way transactions are handled internally
- Investigate and fix problems when using browser back button in Safari
- Add error message when data contains errors in data live preview dialog