EthCC 2: Loredana Cirstea
Ethereum Paris·Wed, Oct 9, 2019, 12:00 AM
EthCC 2 EthCC, the Ethereum Community Conference is created by the community, for the community. It brings together great minds and forethinkers, and allows the community to grow. Follow us : @AssethFR https://ethcc.io
Transcript
a little bit okay um this was a little failed introduction and it relates to a part of my presentation and you'll see afterwards so I used this robot in one of my demos um Okay so proof of wonder but first who am I so I initially graduated from medical school um but I was unsatisfied with the tools that I saw in my medical field and also with the closed uh data and uh some other issues but I started building um medical software tools Imaging tools actually during my University years and then I started a full-time web development exactly the second day after I graduated but at some point I was unsatisfied with web development and I looked for other things and I find I found machine learning and Ai and I tried it out the course built my own tools for making it easier to build models but I didn't like the space that much also because of yeah the Monopoly on data and um it was a it wasn't that open as I would have wanted but then I found about blockchain and ethereum and I was um really drawn by the concepts of transparency immutability and decentralization they were very in line with what I wanted to do and be so I've been building in the ethereum space for two years and I started by helping a brain Bots with their micro Raiden and radar Network payment channels so unidirectional and bi-directional payment channels working mostly on the smart contracts and also uh I really liked working on the protocol specs and building demos on them and then I started my own projects one of them is pipeline and you'll also see some demos of pipeline today and you will see why so pipeline started as a visual ID for building uh so the smart contract by dragging and dropping and it evolved uh to being able to build mini decentralized apps also by dragging and dropping for micro Raiden for example I did a demo at Defcon 3 with with a robot car so it was the first live robotic card demo with ethereum payment channels uh then I also did a demo with a flying uh drone and taking pictures and then paying robots for live stream tricks so the robot that you saw on the stage was actually a live stream with a friend of his Yoda and um the game was a rock paper scissors game I'll show you a couple of things about this later on and now I actually want to do a first presentation with no physical clubs so if you would try to try this with me if you go to this link or QR code I'll keep it a bit on the screen then you can press a club button and we'll see live on a graph how many claps of my presentation had because we're talking about about a proof of Wonder so I actually want to know if I do a good presentation or not and what happens is so the the app should look like this and if you see the if you don't see this please raise a hand okay and I'll keep it a little bit visible so we so I see what you guys are doing um so what I what I did is I have a server cache for the votes but the votes are also um you also have rated payments between two nodes which of course are mine because I couldn't um ask all of you to install Raiden now for this and at the end you can settle the channel and the results of um of the clubs remain on chain at subtle time and okay so we get a little bit of real-time feedback with the cache and I'll tell you more about this later so why am I so drawn to demos my personal reason is that I really like to get feedback from what I work so this is what actually attracted me to uh software and to building but also prototyping if you do prototyping while building a product so especially in this space where you have a lot of protocol layers you open up the path for more applied Dialogue on the product so you can see where the holes are you can talk to people they can see what you're actually building and you can they can see at what stage your product is and also it can inspire people so you incentivize people to build on top of your product if they see something that they really really like and also keeps the development teams more on high because they see stuff build upon on top of their project and gives a chance to think a bit about integration with other projects and this is always nice in our in our space and yeah important demos Define new Concepts so if you uh leave from a demo with something new that you've learned especially A New Concept then that demo was pretty great yeah I I do a lot of demos and I do YouTube videos of those demos so a couple of my recent demos are to do a little bit of uh next an explanation uh an analysis of them so with the micro Raiden yeah I have a couple of I'll post these uh online on my Twitter and you can see some videos of what that was and you can also see uh the code used for that so this was the robot car uh this is something that uh me and my partner built actually from from parts had a lot of trouble with it because of that um this the the robot car was controlled by a road Ned flow so I did the flow for um going forward going backwards and so on and the movements were paid by uh with micro Raiden so you would press the button and then an off-term payment would be done um the Drone demo I we just got a commercial Micro Drone um and I tried to hack the because it could connect through Wi-Fi and I tried to um connect with it in Python and build the micro Raiden payments on on those HTTP requests that made the Drone move and take pictures so yeah I used Wireshark to do some packet sniffing and I also have a YouTube video demo link my recent one was crypto botwords I know there's another project named crypto Wars yeah we were cryptobotwers and I actually live streamed the robot this was in my house so I couldn't do that too much um and you can act you can see a media Mark article explaining why I ended up building um this demo and just for a bit of fun this was my setup so I had my laptop running the game these were the two robots and this was the phone doing the live streaming and yeah we played a game it was a rock paper scissors and then at the end the robots with the play out the moves so I'm there's no sound here but they would say rock or paper and then they would be sad or happy so in this case very Vader one a lot of issues of course with uh latency and all all of that thing and I'm yeah this is not very visible but this is kind of an overview of the components that I had to build for doing that seemingly simple demo so we had two servers for the robots um we had a game Guardian server that would have connection with a guardian Raider node so people would have their own Raider nodes installed and then send payments to um the game Guardian wait a note through the game Guardian server and then uh gameplant of course that would show the game interface uh yeah this is a QR code for The Meta video if you're interested to see and then yeah why why do we need um demos and this is another um a second part related to my pipeline project which helps with interoperability of products so um usually there's a density of expertise in each product that's very high within the development team which isn't shared by the rest of the users or developers that are using that product and this is related to documentation integration and interoperability so this is the product itself and this is the high density of knowledge of the development team and then around that you have all the people that are using the the product or developing on top of the product and these people don't need to know exactly what's inside but what usually happens is that you have entanglement between components and sometimes you cannot separate the components for example smart contracts with the JavaScript or python part you cannot separate them and um fragment the expertise so it's a bit of an entanglement here also so when this happens you need to Define um interfaces that go that wrap these components all together because people usually don't have enough time to look at every um every protocol and usually they choose the one that's that means less hassle um so what should we do in general so we should lead by example and document by demo so that people know your product so what I've uh started to build is pipeline so we've defined uh interfaces for products and we use functional programming and combine um functions and do a pipeline as a pipeline streamed of actions that the user wants to do so the user will choose different services um made by different teams and put them all together and build its own mini small agent we have a cache of a percent we have a centralized database that acts as a cache and we're going forward to more distributed [Music] um methods of storing for example we've integrated EPM instead of having a centralized database of contracts we also have a search so in in pipeline you will have contracts you will have open API specifications for the projects open API is the most used standard for HTTP requests computed aided visual integration and type functional programming Doctrine because we Define the interfaces uh with type inputs and outputs and it's available today for solidity JavaScript open API graphql and we have some other plans in the future and you can use that as a remix plugin so what um what do you do as a user is you find products that you can use then you try to integrate the products as a part of the new of a new product tested and run it in different scenarios different chains and then share the product on the database that can be centralized or decentralized ideally so I can show you uh pipeline a bit I'm not sure how okay if you go to remix the old pipeline is here but this is something that I have hosted on my mission because it's a new version we also have a possibility to load contracts from ethpm and if we load contracts here we can also export them to EPM but we can use these contracts to so these are different contracts when the registration vendor prices and Marketplace so we have chosen three functions from three different contracts and this is very small for you to see but we have named and typed inputs and outputs and what we can do is connect the outputs to other functions inputs and these have to match and what this does I'm not going to continue all all this what this does is generate um solve the code which basically does batching of those functions and also JavaScript code that calls those uh functions successively and we can set uh the free inputs those that have not been connected to um that don't come from another function you can we can set them here and try to uh run this but what we also have reload the frame a bit we've also recently integrated um as I said open API so you can have um a blockchain event for example and then use that to do I don't know HTTP requests with the uh with the arguments that that blockchain event emitted fortunately I have a small bug here but I can show you uh here for example so this is the API for um for this digital microscope and we can see how we can control the position so hopefully we will see it move ah it moved just a little bit but what we can also do is use the Swarm API so we've removed this we do a picture and then uh send the details of that picture to swarm and this is the Swarm hash see if I have a swarm Gateway here and this is what it loaded so you this is too small so this is the uh the name that I entered so these are a couple of things that uh pipeline can do now the idea started in June and we had our first prototype in July from then we had multiple refactorings especially that we are now following the specifications from EPM um and yeah we did our own graphical library for this um so now you can have so the JavaScript open API and you can control uh robots and layer one with the solidity and Layer Two with opt-in transactions and other HTTP requests to um okay so I did the demo so what did I see today uh yeah first scientific robot controlled by pipeline a demo of a demo platform and um one thing that we have in mind for pipeline for example is to do the structuring of inputs and outputs so if you have objects in those inputs and outputs to be able to destructure them in multiple Fields so you can better connect them in more detail with other inputs and outputs and also yeah a Half Baked shitty demo this is something that I knew before coming on stage um and what I can do next uh please name your return variables in solidity because we have documentation uh this is something that I didn't show you but here when you add stuff you get the not spec specification so something that people usually don't do is not return their not name their return variables in solidity this would be something nice and show some love to my to your natural um language specification and use ethpm so your contracts are also available to others to use and build on top of and yeah add my product to pipeline so important for us is not necessarily the source code are but are the abis and open API specifications uh what follows maybe someone wants to volunteer to do automatic automated image stitching for the microscope and maybe some other crypto plugins uh you can contribute to pipeline and yeah let us know about uh your video demos um we would like to do a monthly best off if there's a will and don't be a stranger to the common goal so if you're building something think about other projects that would maybe want or need to use your product and collaborate to have Journal specs to which we can all contribute so yeah the microscope will remain available if you want to try it out during the lunch break and by the way what you saw here are uh bee's knees um yeah present your product by using working examples get your product interfaces ready and demo some Integrations with other products so that's it thank you and please please use the please use the app otherwise I'll go home and be sad thank you [Applause]
Automatic transcript — names and jargon may be misspelled.