Good day everyone as the name of this document suggests that this is an Engineering Design Document for Phase 1 of the Crypto Stream ie. MVP. This document is based on the plan I have laid out here tweet thread. But the TLDR is that I plan to roll out Crypto Flow over serval iterations, however, phase 1 essentially constitutes an MVP.
Phase 1 breakdown:
This means that my plan for phase 1 of Crypto Flow, will be to have a simple product that can be expanded in the future as demands grow. The ultimate goal for phase 1 is to finish the Crypto Flow workflow engine and create a simple service that will monitor uniswap for new trading pairs and tweet about it. Nothing groundbreaking, but definitely a proof of concept.
I’ll probably extend phase 1 to include creating a service that helps creators in the Web3 space, but we’ll have to see what time allows.
Design:
So according to the diagram above I will be using the AWS service, this is more of a limitation of the tool I used, but it is indicative of Phase 2 so I thought it could be a nice easter egg. Anyway.
As you can see in the diagram above, Crypto Flow will consist of 3 separate parts, input, queue and lambda. This is a simplified example, however, the event listener is not the only 1 able to push data to the queue, but the lambda can do this itself, allowing a recursive flow of commands. This can be useful in a case where you want to add data to a message coming from the event listener, imagine adding NFT metadata to a message about a newly created NFT and publishing it to your pipeline. marketing.
or A last minute feature request will be the ability to sample events coming from our listeners by time or number of requests. This is important as it will allow us to curb the number of outgoing messages we are sending, you build a price tracked twitter bot, you wouldn’t want to send thousands of tweets per second
Termination criteria
As discussed above, the MVP will terminate once it is deployed to AWS and will need to tweet whenever a new trading pair is added to uniswap.
This could mean a future snipe bot service, but that’s a phase problem (too far in the future to matter).