-
Notifications
You must be signed in to change notification settings - Fork 4
Description
What is it about
This is a Streamr Community Bounty project to build a python client and it is a followup to the Stage 1. Please take a look at it to see what has been already completed. A new Gitcoin link will be added here for stage 2 application once the stage 1 has been completed.
About us
Streamr is building a pubsub P2P (peer-to-peer) network for realtime data exchange to help unleash the next wave of Web3. To learn more about our tech stack please visit our main website at Streamr.com. Also if you are interested in learning more about our Streamr Network development please have a look at this blog post. Here are two interesting prospective of what Web3 means, article1 by Josh Stark at L4 and article2 from Emre Tekisalp at Coinbase
Development overview
This current project is divided into stage 1 and stage 2. In order to work on this stage 2 part, please make sure that stage 1 requirements have been completed and approved by Streamr team first.
Stage 2 adds cryptographic functionality such as Ethereum key-based session authentication, data signing, and data verification - as well as completing the remaining stream REST API endpoints.
Stage 2
Session management
- Fetch sessionToken using Ethereum key
- Fetch challenge
- Sign challenge using Ethereum key
- Send response to authentication endpoint
Websocket API
- Signing messages before publish
- Requesting message re-sends
- Detecting gaps in message sequence: filling gaps with resend request
- Verifying integrity of signed messages
- Upgrade to protocol version 1 / message payload version 30 if already available
Stream REST API endpoints
- listing / searching streams
- updating a stream
- deleting a stream
Tests
- Integration tests: coverage for new features
- Sequentially authenticate, create stream, subscribe to it, publish signed data to it, verify received messages on subscriber
- Unit tests for functionality that doesn’t call the API
For any question feel free to reach out directly at my email weilei at streamr.com or also follow us on Reddit or Telegram