New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Managing Ledger Devices | Carl Anderson - Ledger

Ethereum DenverThu, Oct 9, 2025, 12:00 AM

🚀 Get Ready for ETHDenver 2025! 🚀 We're already hard at work preparing for next year's biggest Web3 event! Keep your eyes peeled for more info on ETHDenver 2025—it’s going to be epic! 🌟

Transcript

[Music] thank you um yeah so my name is Carl Anderson I am VP engineering at Ledger and and I run software um before we start just a quick question how many of you have a actually has a ledger wow I love the love thank you and how many of you are actually building or supporting Ledger in their application they're building a few all right minority I'm hoping get I'll convince all of you uh to start building with our devices then and the reason I'm on stage today is really to talk about a brand new set of tools and libraries to make it easier to build and use uh our Ledger devices in your applications essentially um we provide those tools since a long time we started uh I think the legend anos uh was released in 2016 and very early a year after that we already released to the community um a a set of tools which we call Ledger Js that allowed you to connect and actually use those Ledger devices with your applications and actually fun fact this actually was before we even actually built our own software wallet ledge alive which came out a year after um but so that was eight years ago and um what we've done since um is we really improved the kit there was a certain number of aspects where leder JS was ping shorts as you can see on the screen I think the biggest uh complaints that we heard from from you and from the community was that it was a lack of modularity it's just big uh big Jaz package um and I think what was really hard as well is um it was really hard to to handle sessions right because in the real world your your Hardware device would lock um it could be in a different state and then we create all those like edge cases and hard scenarios to deal with as a software developer and so we really wanted to tackle those things because as the ecosystem grew um did the use cases right in 2016 2017 it was most mostly about hling and we had the right devices for this but with with smart contracts and defi taken up uh we're seeing more and more use cases and so we updated our Hardware uh to do so with brand new devices you can see Ledger stacks and leder flex on the screen with our nice and beautiful touch enabled uh screens but so did the the software as well it's just with more use cases more complex scenario build and it was just it was just so much harder to do with Ledger JS because you had to do all those yourself and and and really get uh become an expert as to how leder devices worked um so we needed to make it easier for you and that's why I'm on stage today um and the big news is that we have a replacement for Ledger JS and it's a brand new library called The Ledger device management kit so it's open source it's already a available um um and you'll be able to to go and get it and it's not just a library it also comes with the sample application um so you have the QR code right there and the URL at the bottom if you want to try it out um so that th this web application you can actually plug in your device and you can actually just play around with what the da device management kit allows you uh allows you to do you can send commands try with different devices and and and get to tour it and discover what the kid does before actually diving in and start to starting to u to code with it and by the way same it's all all open source it's all our repository you can see all the code so it's a great example and great documentation as to what you can do uh with the kit um and so we talked about how leder JS fell short on on on on several things um those we made sure that were solved with a device management kit number one um and you'll see it later in the in this presentation it's much easier to to communicate and manage your devices um it's consistent and robust and we'll see uh with examples right after but the big news as well is that it's not just a JavaScript library anymore we also have native implementations for IOS and Android um and um and it's also very modular um so we'll see in the architecture of the kit right after as well you no longer have to to to un load and and get the entire package with you you can actually use only the portions that you want to use right if you're only an evm wallet you only load the code that you need for the evm ecosystem you don't need to bring Bitcoin and salana and all the other stuff um yeah and and forthcoming debugging tools uh and then clear signing which we'll talk a little bit about as well in this in this talk so this is how the this is how the kit is actually um composed I think it all starts with a communication with a device that's the green box at the very bottom so you can see that we support um USB and ble as in terms of communication tools with the device HTTP is more for debugging for you guys we're planning to build what we call a device mock server um which would allow you in your software application to then be able to test your code and simulate interactions with a device without actually having to have a device right so that could be super interesting to you if you want to plug that into your CI uh and do non-regression testing in your interactions with uh with with allra devices on top of this you then have the device management kit which is what you're interacting with with a core API that allows you to connect to the device list applications get the version of the application All That Jazz and then on top of this uh we have all the little modules that I was talking about um the signer kit the signer app kit which is as you know on a ledger device you you can install multiple applications we have over 200 of them um and really the idea is for each application you'll have a a signer kit that allows you to connect directly to this application and get the most out of it um so today we have ethereum Bitcoin and and Solana um and then for those of you that not might not be aware but you can do more than just blockchain stuff with Ledger devices and we're starting to have new applications built on Ledger devices a key one is the security one which allows you to do Pass Key and so you can actually connect to an exchange or or a web2 service using your uh using a key derived from your crypto Keys um as a safe device um and as you can see on the left we are starting to migrate Ledger live onto this new library so we jog footing it um so you you'd be using the exact same toolkit that we are using internally as well uh so you'd have the same power at your disposal um for you to build your your own application cool so now let's diing into the key features that we talked about I think this one is the biggest one um as I was saying earlier with Ledger JS you had to do it all like managing the state of of of of how the device was was super complex and I think this is probably where um we're seeing the most complaints about our users is um is is hard to go through flows a lot of friction and actually you see that in a lot of software wallets you'll always you often see make sure you have the ethereum app open before starting the flow right that's because the state was so hard to manage so now what we did is we build a an entire um session and State Management so as a as a as a software developer you can actually show to the youu to the user on your UI uh where it's at and handle the case if the device is locked if it's busy if it's connected disconnected you can display this information to the to the user which will create a better ux and better ux is better security um then we actually built um so when you're communicating with a device you need to send application uh protocol data units apdus and on which is quite cumbersome it's buffers of data that you're sending um so we wrap those into higher level Primitives called commands where you can actually go open an app close an app get an app in a version those kind of stuff which then allows you uh it just makes it much easier for you to code and it's very simple code I got a code sample right after this and cherry on the cake we created what we call device actions which is actually allows you to build flows so we can change commands uh into one another so here in the example you can see um the the developer here is doing a get address so he's asking from the ethereum app to get the address to the user and that's all he needs to do and to do that behind the device action will if if the wrong application is open it will close it uh it will then open the ethereum application and then get the address and if the device is locked it's that's not a problem you'll be able the user will unlock it and but you don't have to manage all those ede cases right you just go get address and all that complexity is get away from you and taken care of so those are device actions um CER kits we already talked about it we got one kit per uh per chain application on the device then the the other big new feature that comes along with a device management kit is the context module the context module allows you uh to clear sign for your users what that means is without context when the device parses the transaction that you're sending it just doesn't know how to display it so that's why you get those big EXA decimal blurs you know of data uh which as a user you're like I'm not sure what it is it could be a leg animate transaction but but I might be assigning something that I shouldn't be signing and scammers know this and this is literally what they're using today to drain wallets this is what happened to safe in The Bu bit thing by the way the they replaced the transaction the genuine one by a malicious one got it to sign it was blind sign it was just a blur up of data um so sadly someone signed it and that's how they lost 1.4 billion so clear signing is really and when I was talking about more advanced use cases and we need to provide a new technology to to C for those use cases uh the context module is the functionality that allows um you as a developer to pass metadata onto the device so that the device can show instead of a blurb of exod decimal data uh meaningful information that as a user I can read and then I can know what I'm signing before signing it so that's a key one and we talked you heard a lot during this conference uh the about 7702 which is coming uh so same we're going to make sure that on day one it will be clear signed by leder device both types both the message that you need to sign as well as type four transactions um so all the new features on the space we're now going to put it in the device management kit so it's available for Ledger users but also your users as developers cool um so those are essentially the big the big reasons why uh why I think you should migrate and why we at Ledger we migrating from Ledger JS to the device management kit I think the extra one is really is also uh future proof because all the new features that we'll be shipping to Market as Ledger will do it through the device management kit so you'll benefit from all those features such as 7702 uh clear signing support for instance all this information that I've just talked about everything is available on the developer portal uh you got the QR code at the very bottom here is developers. ler.com get all the information uh to do so please note that the developers who are building this are actually in the room with us right there so if you have any questions and if you want to know more about how to do this uh please join us we'll be super happy to to give you a demo to answer your questions and to get you started uh into developing with our devices and finally if you want to make you know if you want to play around with it and and make your own mind with our technology uh again you got the uh you got the sample application which is available online uh where you can go and to with uh application uh processing data units commands uh device actions you can play with ass signers straight from the interface so you actually can actually see for yourself what the device management kit does and you can see how it's done because the other other source code is also available um yeah and then in terms of timeline and where we at um so on the left other stuff that we've done which we talked about in this presentation just to let you what we're working on so obviously clear signing ux improvements we want to clear sign all the things in the space this will all be coming through the device management kit so you have the same superpowers um we're going to add app management so you'll be able to install applications um update applications just as uh users are able to in leder live it won't be bound to leder live anymore we're going to add react native support uh that's going to come in the next few weeks um and then more debug tools to make make your life easier uh working with leder devices and that is it for me um I'm out of time so I'm going to get off stage but if you want to talk to us about building uh using Ledger devices we'd be super happy to help you out thank you all [Applause]

Automatic transcript — names and jargon may be misspelled.