Tom Teman, Itay Radotzki ~ BUIDL for the masses with Portis
Ethereum Denver·Wed, Oct 9, 2019, 12:00 AM
Speaker
Transcript
[Music] hi everybody hello welcome and so we are poreless and I'm Tom I'm the CEO this is the Thai is the CTO and so before we begin we'd like to tell a bit about Porter's and what the problem that we solve is so right now whenever you're using a decentralized application one of the problems that you currently face is that your new user has to go through a lot of friction to start using your DAP they have to you probably show them like some sort of model window saying hey you gotta go install many masks and here's a list of instructions on how to do that and you know we wouldn't stand for something that if you're using any other standard web application if it's uber or Instagram there's no instruction on how to use uber it just works so we want to offer developers the same way to you know the same capabilities to offer that to their users so instead of asking the user to go and install something we take a kind of a different approach we tell the developers to work a little hard so once you integrate our SDK you get a standard web provider it's just two lines of code and it's the same web three methods that you know and love and nothing changes but what happens is when the user gets to your sorry it's a bit dumb yeah so what happens when the user gets to your DAP then they're getting the built-in web three wallet and everything is done using end-to-end encryption so the user is in absolute control over their private keys not adapt not us so he creates a wallet inside the browser and then he encrypts it using a secret which never leaves his device so he sends us the encrypted wallet so he can easily access it from his phone from his desktop you know all in his browser without installing anything with a very familiar username and password login so to demonstrate the difference between building adapt with borders and without porous and what's the value you can get out of it we took open seas a platform they created something called ships log which demonstrates there a API which is great we use it for our collectables that's how we show you all the cool and if teas that you have in our wallet and they create something called the ship's log which is a basic - just grab stuff from their SDK and displays it and you can bid on different entities so what it time here is gonna do is just show you what happens right now when you click on buy this is usually what you get you get like some sort of alert saying hey you gotta go install metamath trust coinbase and yeah good luck for the user so instead what we're gonna do is we're gonna create a path which port is and show you how that works so we go to the docks and as you can see it is like four lines of code so we tie the first the first thing has to do is register adapt now the reason you register adapt is because we want to have a smooth transition for the user which we also feel is very important so we can show you like the tap logo and name and description when you sign in so you know the context of where you're coming from you'll see that in a minute once we embed Portus so he created this new tab called it ships log and he's taking those four lines of code and just adding them to his death now you have to install the web three that the port is web 3 SDK and then just initialize it with the API key that we give you that will show the relevant name and logo and so we tie is gonna do that but it's gonna did a bit differently because the open sea SDK they initialize the web 3 object so he's not gonna initialize the web three objects he's initializing the open sea SDK and he's passing into it the web 3 provider which is poreless so it's a little bit different but when you're building adapt it's just gonna be those four lines of code unless you're using the wonderful open sea SDK and so now if we go back to our dab so first of all so we go back to our DAP and you'll see that now we get a pop-up saying okay let it's great let's login with Portus let's you know and the user gets this new screen you know standard email and password sign in creating an account is just the same just another password and he's in he has a web 3 provider if he wants to buy something you can just click on it and he gets this nice little iframe that's showing him like you can confirm the payment this is all inside the browser and if for instance we show it how it looks on mobile then again it's all very you know familiar and easy for the user you didn't have to install anything and it just works but the and if we go back to the dashboard you'll see that after you register adapt we also allow you to kind of test to see that you're communicating properly and because we did this web 3 method which was get accounts for that matter then everything works great and you can continue building knowing that everything works and so but this is not a good experience the talk of the taps is building for the mainstream building for the masses you don't go into a web application and get a login page like a login window as you start you have to have some sort of context of where you are so we want to show the user some sort of login window where he can choose between the different login methods because in our eyes in terms of user experience that's how it should be done the user should always know what he's doing so what I did is creating some sort of model that will display the different web 3 methods so instead of just initializing where 3 as you start your application we have some sort of like model window where the user chooses how he wants to sign in and once he chooses that particular web 3 provider then we use that from that moment on in this case it's going to be poreless and meta Basques who we all know and love so in this case it I still doesn't have madam asked enabled on is there on his browser so we only see the Portus sign ID okay so once he enables madam asked then now we see both of them so for the user once he comes into the app he has a login the first thing that he sees is how to login into the app which makes sense because that's usually the experience you have for most applications out there so once inside chooses Fortis then he logs in and and then whatever he's doing in action he doesn't suddenly have a login page he's logged in he knows what's going on and we felt that's very important to make sure that the users have an experience which is familiar and just like using regular web 2 applications so again you can confirm the action and that's great but we still feel there's something missing because the user has no indication of the you know he he just signed in but he doesn't know that he's signed in either he can't really remember that so that's also something that we want to solve so what he tires gonna do right now is gonna add another element here so before that I need to give a bit of a preface so one of the things that we also gave with poreless is the ability to ask the user for their email so we're a standard web 3 provider but we're starting to add more and more features which we see as valuable for the dev the app developers so one of them for instance is something we call scope which is if you ever developed for with using the Facebook API or for Google or for Android you know that you can ask the user to reveal some information to you so when you called uh when you initialize Portus you can pass along a scope of the email so what's gonna happen now when he ties the signing in to updating the API and the correct one yeah so when he's signing in into his portis account he's gonna get a question from the dap from Portus and we're gonna tell him look this application would like access to your email and he can accept it he can decline and we'll allow it for now and if he allows that we can now give the user something more than just his wallet address we can tell him okay this is your wallet address you're connected with this is your email address and you can also open your wallet which is something we highly recommend when you're using portals which we offer a functionality called show portus which allows the user to always be able to see their wallet know how much balance they have which network they're on these are the kind of things that we're even thinking about user experience you gotta give the user that ease of mind that he knows what's going on where am i in the application where am i going what's happening and yeah and so in addition to that and there are other things that we've added to portals which we feel our valuables so that users can have an easy experience one of them for instance is allowing the users to add funds to their wallet this should also be something simple if you're telling a usually look you want to have more ether then you got to go to an exchange and this is your wallet address and you got to understand that when you withdraw the exchange that like all of that flow is very complicated it's kind of a hassle if you're a developer and if you're not a developer that's that's simply not gonna happen so what we allow you is to buy ether straight to your wallet using ratty cards you see using wire sorry using wire and so the user can pay with a debit card and they can eat the money just go straight to their wallet and over time that flow is going to be even smoother and smoother to the user to the point and that's where we hope we can go to the point where users are not even aware of the fact that they're using a blockchain application they know they have this user and email for using these kinds of decentralized blocking applications yeah but beyond that that's all they need to know later on we're gonna be adding for instance gas relay which allows the app owners to sponsor the gas fees for their users now obviously that raises a lot of interesting questions like how do you deal with Sybil attacks for instance I'm a DAB I'm sponsoring I'm sponsoring my tab for 5 ether for my users but then some competitors adapt comes along and you know creates a million users cleans me out dry there are ways to deal with those kind of attacks like if the user does have some sort of history and reputation then we're gonna let the DAP know that he has a good history and reputation then yeah you can probably sponsor gas fees that's not an attack but if it's a new user then we might want to make him jump through some hoops some kyc some CAPTCHA maybe ask him to sign into his Google account these are all things that yeah sure the dab could do itself but we believe that dabs shouldn't focus on that you have a lot on your plate already you're building adapt you have to worry about a smart contract about the user ability of your actual application not about the onboarding and signing transaction and the parts where when you're building a web 2 application you have those kind of solutions if you're doing credit card you have stripe if you're doing SMS messages you have Twilio you don't rebuild the wheel every time so that's in our eyes that has to the situation where you're talking about dealing with the web 3 and the wallet and everything that surrounds that and so in terms of the networks that we support so you can use and the standard that works we support some of the networks built-in which means you can just put in the network name and it works but you can also work with yeah either a private network or a local host and you know at the end of the day what happens with port is just let me reiterate for a second so when the user wants to sign a web 3 method what really happens behind the scenes so he's sending that transaction to the iframe which contains the unencrypted private key which the user decrypted with his email and password we then signed a transaction using this private key and relay that signed transaction to wherever you tell us if you just say if their main antenna is inferior and send it to their theorem a net if you tell me oh localhost will send it there so so you can use it for whatever project you want and for it if we're talking about networks for instance so we've been talking to the apps and we have adapt using us call Oxana T now acuity is doing actions of n of T is like live auctions and they need to do real-time bidding now you can't really do real-time bidding on their theorem network that's a bit of a problem but we need to solve that for them because they're moving the NFT on the main net but they're doing the bidding on a private network which cost nothing but it's still verifiable because it's public everybody can check that their bid went through yada yada but they want it to be super fast and cheatin cost nothing so with other solutions that exist right now they have to tell the user and they here's more friction because you have to tell the user each time here's a window saying ok so go to the configuration of your provider choose a custom RPC no that's gonna be us now you're a bidding so you have to do that and then come back to the main net once you win your prize you win the token and at the end of 10 you want to claim it that's unacceptable it's like telling a user who's using a node to decide which I don't know port to use or whatever that because you're using no that doesn't make sense so we added something called change Network where basically we can we don't let if I don't know if you notice the user doesn't choose their network now if you're a power user that might be a bit like mmm I want to choose my network whether you're an average user you're not really you know capable of dealing with that kind of stuff so we're learning that the developer choose to change the network for the user now when he's signing a transaction he sees which network he's on so he can't really do anything you know weird in that way but you don't ask the user to go around and do that so the scope of the email the change network and a lot of other similar solutions that we offer is a way we feel like the developers can easily offer their users a more smooth experience and yeah that's pretty much it and I'd like to hear if you have any questions about how poor this works yeah right go ahead oh wait wait wait a second I think they wanted to use the mic if we can get you up to microphone that way everybody can hear you and they want to also probably have it recorded for Prosperity how are you guys working with the KYC module with wire as well yeah what do mean how do we work with the KYC model users can buy aetherium directly by oh and why do you have wire in the background facilitating the purchase yes we can't we see well the KYC token Mallos implemented I think by wire itself they're the one who are putting in the token but yeah we're using their API any other questions nope so I hope you all have a chance to try a sport is in the hackathon and we have we do have two bounties going on and won the first bounty is if you just use portals in your DAP as long as the key put it on some sort of live net so where you can see it we have get coin bounties that you can claim and you can just get a some ether for doing that and the other bounty is if you actually build adapt which is focused on the mainstream and we find it cool and really you know some sort of that that is really trying to you know not exploit by to use the fact that there is a solution that is mainstream accessible to build something for the average user for the mainstream population not just to crypto population then those two winning devs will also win 750 and 2 are $50 respectively and you can check out everything on the Kauri website where you can see all the different bounties and check out our documentation and we're up in booths check come check us out and you can also get some poorly socks if you want to thank you very much
Automatic transcript — names and jargon may be misspelled.