Connectivity between Ledger Hardware Device and Ethereum - Akram El Milligy | Ledger
ETH Belgrade Community·Mon, Oct 7, 2024, 12:00 AM
Transcript
uh hi everyone uh I'm Aram working as a Dev Dev support/ deel at Ledger um and I will be uh talking with you today about how you can integrate with Ledger the different uh Pathways of uh open source Integrations we provide and uh how you can build uh easily and fastly with us so this presentation will be done in two parts uh the first one we will talk uh together about uh these different type of integration and then on on the second part we'll dive into a more specific kind of integration uh the most straightforward and easy way to to build on top of uh on top of ledger so let's go um we have let's say four uh type of Integrations um the first one is the embedded application are you familiar with the the Ledger Hardware device I guess or you guys have have a ledger Hardware device you already installed an application on it so this is the first part the embedded app so the embedded app is basically the application that will communicate with the protocol between your Hardware device and the protocol um this is the first layer um it's so it's a kind of Open Source as uh anyone can build their own unembedded application and you guys if you have an unembedded app uh you want to to to make you can make it uh you can side load it into your Hardware device in know kind of it's cing a little no that's should be okay uh in kind of we say it um devle uh mode and you will have your own embedded app on your Hardware device custom customized by you but of course it will be at your own risk as we won't audate uh this uh so this is the first layer of integration all the embedded app are uh listed on our Ripple as it could can be done by anyone um we just have to audit it ourself at the end and to let it uh available for the public so this is the first layer I will I will talk about the second the connector app at the end because it's the most EAS the easiest one and we will dive more deeply into it you have the third one the blockchain support integration so as I said you have the embedded app it's the first layer the second layer is the blockchain integration and it will come above the embedded app basically uh who already used The Ledger live software wallet maybe okay so what you can see on The Ledger live software wallet it's because these blockchain are integrated uh on on our site uh same thing it's a kind of Open Source inte uh integration you can do it by yourself but this integration is a little hard uh and it you need many developers on it of course you often it's the kind of companies that does it but it's open uh the all the blockchain integrated all or listed on on our report so we can have a look at it how how it work you can try to build also your own and launch a kind of Ledger live custom but same thing it will be on your side you will be it will be at at your own risk and uh yeah as it's written you can integrate and submit your own blockchain of course it will take some time as we have many blockchain that want to be integrated with us but this is a work you can do on on your side and the last one the live app integration so it's a kind of dap integrated into Ledger live so if you have a web through App decentralized application uh you can let it in a way that it's already integrated into the software wallet so then the users won't need to leave the software wallet and will be able to use your D directly uh on on the software wallet so for a user for example it's a kind of uh better security level for him because he will believe that it's integrated then more secure or also uh and on top of that we also ask uh people that have adap to provide uh plug-in so why a plugin and it's because we are launching mostly this year but we again we began a few years ago a clear signing initiative so we want you guys to build Plug-In or to build something that allows user to clear sign their transaction so I'm a user today uh if I sign a transaction I will have a hash something that I can if I'm a beginner I won't understand it easily so the plugin is here to translate the hash into something readable for a humankind uh for a beginner for example so don't hesitate to dive into this initiative and uh it's uh it's just little secret but we will talk about it more at ECC and we will try to work with other bigger actors in the area to try to improve these clear signing uh aspects so I discussed these three there is uh the last one the connector app I I uh I let it for the for the end why because so the connector app section is for you guys the easiest way to uh integrate with Ledger let's say you have a d you have a Dap You Want To leverage for example The Ledger user base the guys who has who have Ledger devices you want to allow them to be able to interact with your dab between The Ledger Hardware device and your app so the easiest way is to um integrate this functionality called connector app is just a bunch of libraries you integrate it onto your onto your DB um depending on the connectivity you would like USB Bluetooth you will have different type of libraries and then uh depending on the mobile also or on the computer you choose and you will allow users to be able to open their hardare device communicate with your DB and also improve security so that's the way and for the next uh slides we will be uh quickly working on this uh section the connector app function it so it's not a workshop uh don't worry it's a kind of presentation SL Workshop uh will give you time to take pictures of the repo if you want uh if you want to reproduce this at home um so these These are the prerequisite you need um be sure that you have the right package manager of course a hardware device etherum address with the the etherum embedded app installed and the right libraries I will show you just after so to ease the work for you um you can go on this ripo uh just stop at examples Ledger then you can clone many uh many examples uh this one is the sign personal message example it's using the EIP 91 functionality uh so you can clone this repo uh you will have a bunch of example choose the sign personal message example and once you're done you just have to execute these two commands and then you should have this web application running so it's not beautiful um the goal here was to write the minimum amount of uh line of codes uh it's really just to show how it works and how it's easy to to do so this is how the web application looks like uh you have uh the ability to connect your uh your Hardware device to open the ethereum app and then when you have the application opened you just click on hash my message so these are the steps I already described and when you will sign you will click on hash uh my message on your Hardware device you will have the option to sign kind of message so uh it's a just a test message to uh be sure that you're the the one signing the message with your address so when signing the message the web application will display you two things two lines the first one kind of hash of your of the test message the test message is hashed and just under the message it's your address that will will be displayed so what how can I be sure that the web application is signing the message with my address after that you just have to go to the to run.com and you will have a bunch of tools that will allow you to be sure that your the one signing the message you will just have to pass the hash you got and it will uh give you back the address that signed the message so then you will be sure that you did it so how does it work so as I told you it's not a workshop it's mainly here to explain you the the big lines and if you want to repr reproduce it uh at home so many steps first one of course I told you earlier you have to import the right libraries depending on the connectivity you would like to uh to install on your uh to allow on your D so USB Bluetooth even in USB you have many many different uh Library so you have to choose the right one depending on on what you want to do exactly um so the right import for that and then um on the repo you will find the all the functions listed and depending on the communication you would like between the your decentralized application and the hardware device we will have to choose the right functions so the functions that will initiate uh the communication between your Hardware device and your dap uh the function that will allows you to to sign also um I don't know why it's okay don't know why it's uh it's like that but so these are the main functions you have to to to use just to perform uh simple sign a transaction to sign and on top of on top of that so you have the functions so the functions are here to communicate between uh your Hardware device and uh and the DAP uh but some sometimes you won't succeed into allowing the hardware device be able to communicate with the DAP so it will display you errors that's normal you won't succeed it at the first time but each error has a kind of translation translation sorry so if even if you get errors take it and try to see uh what's what is happening uh it will help you debug also your uh your your installation what you're trying to to implement uh because these errors here are um are linked to the a apdu calls uh this is the calls that are done between the hardware device and the DAP and you will know that which uh which thing is missing to uh accomplish and finish your uh your integration on your D so that's it uh as I told you almost I I I only have one or two more slides I oh I have time okay uh so as I told you it's more a presentation SL Workshop to allow you to have the bigger picture um that you can do it at home uh so quickly remember this this repo it's a it's a clone of The Ledger repo so you can also I'm not no not sure you can find it on The Ledger repo uh but I work C ledger so you can it's okay there is no security thread don't worry uh you can clone it uh these on top of this one there are four other um tutorials SL Workshop available on that with documentation so you can also use them to do to perform other other kind of uh tasks and uh and yes um so as I told you it's an kind of Open Source integration for this one yes for the other one um there are more steps as we have to verify at the end to have the final say on what you're trying to integrate on our repo so even if you do a Ply request on our repo don't think that it will be accepted right away uh it will take uh months and maybe you will have a no at the end so don't be don't be sad because we are trying to have the the hands um on what we are improving on the on on on our product and have the final say on that uh be sure that it's kind of premium product we give to our customers and that it's aligned also with uh with what we we want the strategy we trying to implement um so yes and if you want to become kind of a partner kind if you want to uh to to build it on top of us don't hesitate to to do so we have many kind of ways you can reach us um the tutorial I already uh explained is also listed on our portal the developer portal you will find all the tools uh I described and also other tools code samples um explanations everything you will find it on on on our word developer portal if you trying to do something and you have questions you want someone to answer from Ledger you can go on our Discord we have a Discord server when you can uh reach to us uh we also have a kind of blog more for uh developer integration Journeys but the main thing is our repo on the GitHub have a look at it Ledger HQ uh some page are some pages are available even if you are not into this organization and that's it thank you very much if you have any questions have questions oh yeah hello thank you for this great presentation I have few questions um if I got right uh you allow me to deploy some software inside your security chip it's about embed embedded up yes yes and could you give me I don't know few examples uh when I might want to uh deoy something inside this device so the depense you have two main um usage the first one if you want if you have a kind of prodction you want to be able to interact with this blockchain you can have this possibility to have this embedded app this is the first one the second one is an embedded app can be used for other uh purposes for example I have on on my device an embedded that is playing kind of password manager uh another one that will be here as a plugin just to to clear sign some transaction but not necessarily be linked to a blockchain so you have other usage that are linked if you have a usage that is linked to cryptographic uh ecosystem for let's say like that you can use this embedded app uh usage for example uh so uh you have some kind of uh itic curves inside these chips yes and if uh but I can't provide something else inside it yes I can use this one yeah yeah can use this okay uh could I ask another one yeah uh good it's about this uh Ledger life uh for private also software wallet I mean sorry no no no not software wallet you want me to put the righted slides uh slide where you this uh third layer m blockchain support I think and Ledger life and this one yes this one third one and you you told that uh also I have to support it by myself and I can add anything what I need and also why I need this and how I can use it okay uh why you can need this for example if you're user for The Ledger live of the wallet you want to be able to manage everything related to your blockchain on leder live on the software wallet then you need to do that to do this step if you don't do it you will only be able to use the hardware wallet but without the software wallet and then you will have to use or find another software that will be able to perform your actions with the hardware wallet am I clear MH so this step is really here for the software wallet part uh this step is here for the harder wallet board yeah yeah understandable and and the final one yes it's it's about um uh hi I I mean when you talk about the USB con yes using USB uh could I use your uh device with mobile phone for example from browser yeah is it work yeah great super you also have Bluetooth connectivity yeah yeah in this case yeah thank you very much you're welcome thank you very much do we have any more questions we still have a bit of time okay uh for the recording it's better sure uh does it work the other way as well do you integrate other apps so instead of just allowing uh well not just but instead of allowing developers uh build apps within your um D whatever do you yourself consider connecting to other DBS to add additional features to to The Ledger live yes yes uh so so just to be sure you're talking about the D side or the embedded upside the D yeah yeah we also do that but of course we have to try and kind to try to find a kind of incentive also for us so if we have a common common uh yeah there is a match on something or somewhere uh yes of course we sometimes uh do that way also great uh anyone else okay in that case thank you very much once again thank you Cole thank you very much Anna for this
Automatic transcript — names and jargon may be misspelled.