 Okay, so hi everyone, my name is Augusto I have been working with the Raiden project for the past two years and to them going to present to you guys what we have Done for the past year and what is included in developer preview So for those of you that doesn't know our raiden is an escalability solution that we have built for ethium And it can escalate to a bit of million of transactions per second Okay, so I'm gonna give you a quick agenda of my talk This is gonna be split in two parts and the first ten minutes I'm gonna talk about the raiden and the second half for the last ten minutes We're gonna talk about the micro raiden. So for the raiden we're gonna talk about the raiden APIs Raiden is exposing an HTTPP RESTful API so that you guys can use to build applications on top of it and the goal of my presentation today is to explain to all of you How you can use raiden to be build apps and of to that regard We're gonna talk about how can you join the raiden network Once you have joined the raiden network, how can you make transfers and how can you react to transfers that you know it has received So that's agenda. So first things first the setup phase. So raiden is an open source project We have it available in the github and under the release spacey pages We have an app image that any of you guys can use to install raiden. It's an executable You can just download and start running in your machine Right now raiden only works on linux We are fixing some issues with macOS in a week in the in the next release You should be able to use raiden on macOS 2 for the moment. We don't support Windows And also I want to point out that raiden is not an ethereum node Raiden is a separate process that communicates with an ethereum node So to use raiden you will also need an ethereum node running on the machine that you're working on and For that for the raiden process to communicate with the ethereum node We you will need to enable json rpc because that's the current interface that we use to communicate So once you have the setup done, let's decide how to talk about how use raiden so the first thing that you want to do once you have raiden installed is to connect to the raiden network and The raiden network in the in the raiden process We have two APIs to connect to the network the first one that I'm going to present to you guys It's the endpoint for connections. This is an automatic way of setting up channels that raiden is going to manage for you guys and The the goal of this this endpoint is for you guys to Configure raiden telling how much token raiden should use to manage and open channels with the network So our goal is to never start using the tokens for that account That's configured with raiden without the user permission and you need to use that endpoint telling us how much funds Do you want to use once you have used the endpoint raiden knows which funds you want to use? How much of it you're allowing raiden to use and then raiden will manage channels for you on your behalf So that's the automatic channel management. You can use it with the put verb in the API one connections endpoint If you don't want to use the automatic management, you can open channels by hand That's done by the put verb in the channels endpoint And that's basically the same thing, but you're going to manage the channels on your own You just specify everything that you want to use in the json that's going to be sent to the server and Raiden will use the data that you provide to it to open channels So everything like the token address the amount of funds the target node that you're connecting to It's defined by you So these are the two APIs for connecting to the network once you have connected to a network You have channels available to be managed The way that you can manage the channels opened with raiden is by using the patch keyword the patch verb for the HTTP and You can then patch the current status of your channel and increase the deposit if you want to have more funds To make more transfers or you can change the state of the channel by closing it once you close the channel Raiden will automatically wait for the settlement period. That's the period that we have for disputes resolution And once the dispute is over a raiden will withdraw your tokens from the channel using the proofs that was Available by both of the parties in the in the channel so that's everything that we need to know on how to connect you the raiden network and Once you have connected to the raiden network and you have channels opened You can make transfers so to make transfers you can use the post verb with the transfers and Endpoint and that endpoint is going to expose you guys Has time lock mediated transfers so has time locks are a nice Absurption that we can use and that makes for a concealable and a expirable transfers. So that's the best Kind of transfers that we have that expose the nicest error model for people to build applications on top For making transfers There is an important detail that raiden is not part of your application raiden is a server that's running on a computer that you're going to communicate through REST APIs and You need to provide some knowledge or some application specific data to raiden so that both of the nodes the one that's paying The one that's receiving the payment know what the payment is regards you So let's assume that you're building an e-commerce application or something that needs to make a payment For the e-commerce application You can give an editing fire to a cart and that use that identifier as part of the transfer So that's the way that the client application can tell the The part the the node that's being paid what the payment is about Currently we don't allow in the current version of the API to send arbitrary data that may change in the future That's just the current transport that we have available Okay, so once you've made transfers that's two parts of the agenda the last thing that you want to do is react to receiving payments through the raiden network and that can be done by pulling for events in the raiden node We are just providing a simple API for the moment with pulling in the future We we will add maybe long pulling or different transport that can push events for you But the way that you can react to payments is by watching for the event transfer received That event is emitted every time that we receive a payment and then you can react to it And that event will have the identifier and the token and the amount of the transfer that you received So that's everything that you need to know about the endpoints available in raiden And with that you can build applications on top of it that make payments using the raiden network So if you want to test raiden, we currently are doing a developer preview. So it's not available on the main net It's only available in the ropsten a test network and on the ropsten that's test network We have deployed all the raiden smart contracts and including the raiden test token and with the raiden test token We have made available a mint method that you can use to mint yourself some test tokens and use that test token To make payments in the test network So once you have used the raiden test token to get yourself some tokens in the test network You can connect to some nodes and here's a node that you may try to use We have made it. It's a programmable node That's just gonna reply the transfers that you make to it with a transfer of the same amount and same token in the case The raiden test token and if you want to connect to the test network using the automatic connection Endpoint we have made available a test network with a hundred Raiden nodes. So when you use the automatic connection management You're probably gonna connect to one of our nodes and everything is gonna work as expected So these details are I'm not gonna focus too much on them They are all available in the documentation and as an example of an application built on top of raiden We have built the web UI so the web UI is one of the UIs that we have Available for the raiden project and the web UI is available in our source code that you can just find in the UI folder and That it's built using these endpoints that I have showed you guys So that's everything that I have to show you. That's how you need to know to build applications on top of a raiden and if you want more additional details on the format of the JSON files The response and different verbs are different endpoints that we have available You can go to the raiden network read the docs and we have much more information there Including how to deploy your own tokens and use a different test network if you don't want to use the rubbish rapson test network So with that, I'm just gonna leave for Loredana. That's gonna talk about micro raiden Hello I'm Loredana one of the developers that contributed to micro raiden I'm gonna tell you today. What is micro raiden for what you can use it and I'll also show you Small live demo of a token fueled robot So what is micro raiden? Micro raiden is a robust off-chain payment channel framework and It's easy to use at off the shelf It is good for 80% of the use cases that someone can think of when They are thinking of using raiden for their own service or business It is a unidirectional many-to-one implementation, which means we don't need to think about routing issues and incentivizing fees for users who have open channels and want to share them with others That this is why we have off-chain transactions that are fast and free Micro raiden is available now on the coventess net and will be available on the main net by the end of November Which is by the end of this month So what can you build with micro raiden? for human consumption the most straightforward use case is Paper use and we already have two demos one with a fortune cookie paywall that is online now and an unpleasant Alternate world where you pay for Wikipedia But the most interesting use case is the M the machine-to-machine micro payments that you can do so basically if you have an API that You want to monetize you can use micro you can use micro raiden from utilities to data storage to scheduled API queries and we already have a machine-to-machine demo where we query the price of ether in us dollars each second and You can see the entire life cycle of a of a channel from opening to depositing new tokens To closing it and also see the off-chain micro payments. How are they created and received? And now for the live demo. I want you to bear with me a little bit so this is robo and I hope there's a camera. Yeah Robo has his own ethereum address and He uses micro raiden to be paid in tokens for his work We already have an account here with robo. This is the JavaScript client and we used No dreads for this dashboard and we can see that we already have an open channel with a deposit of 50 tokens And the channel balance of two tokens, which means that we already paid robo two tokens for his services We have a remote control for him and the buttons for forward back right left back left and back right are connected To a micro payment endpoint This is the micro raiden server and we can see that the JavaScript client has signed a balance proof for us and that instantly the micro raiden server has received that payment and Sorry, I don't have enough time to show you everything so And you can see that the balance has increased with every press of the button you can of course do this By timing the robot or measuring the distance, but this was I mean we implemented this Very very fast in a couple of days so It's not that complicated Okay What we can do when we remain well without tokens is go to our account and Deposit more and This is an on-chain transaction. So what you've seen until now are Off-chain micro payments and to verify this We can go to either scan and see that the transaction will be Included in a block shortly and we can also see the micro raiden server registering the event for depositing new tokens, of course when we've finished everything with robo we can close the channel and Again we can verify in ether scan That this is an on-chain transaction and the micro raiden server has also received this Okay going Back to the presentation The code for this for the examples are in the micro raiden repositories under micro raiden micro raiden examples and For the robot the token hungry car We will link it in the read me, but for now the Jason for setting up the note red Dashboard is in one of my personal repositories So to recap a bit You can open a channel on chain you can deposit tokens on chain You can close a channel on chain But the essence of micro raiden are the micro payments that are done off-chain fast and free Between closing between opening a closing a channel I'll try to make it fast a simple explanation of how it works the sender and the receiver both Keep copies of the channel data, which is Receiver and sender ethereum addresses the block number at which the channel has been created and the current balance Because we've seen that the balance increases. So it's the last status And also the receiver has the last balance proof received from the sender What is the last balance proof is it's basically a message signed by the sender which contains the current balance the block number and the receiver's address The micropayment works like this the sender sends all this data along with his signature to the receiver The receiver provides the resource and also saves This signed balance proof We also support the ERC 223 in-work standard along with the ERC 20 for opening a channel and depositing tokens because the ERC 223 offers us The possibility of consuming less gas because we only do one transaction instead of two for approving and opening a channel I'm going to skip this very fast Maybe tell you a little bit about Closing a channel and we can do this we can find ourselves in three states One is a cooperative close, which is the best case scenario when the sender queries the receiver for a closing signature and Then closes the channel himself by providing his balance signature and the receiver's Closing signature and everything is well and good if anything goes wrong. We have a challenge period Where the channel can be closed by the receiver by providing that last? balance proof saved in Conclusion micro radon is ready to use It is the go-to solution for frequent fast and free ERC 20 token based off-chain micropayments on the ethereum blockchain and don't forget Robots also want crypto. Thank you, Laura Dana