 Welcome everybody. My name is Lars Ponyas. I'm the director of education at IOHK and in this short video, I want to introduce you to the Rust Cardano library. In previous videos, we looked at the Cardano CLI command line tool to interact with the Cardano blockchain. And we saw that in a lightweight way, you can create transactions, transmit transactions, inspect the blockchain and many things more. Now you might wonder how this tool was implemented and how it works. And if we look at the Git modules dependencies, we see that this IOHK repository, Rust Cardano is referenced. And it turns out that all the heavy lifting is done by this library, which provides an API to everything you need to interact with the Cardano blockchain. And the Cardano CLI tool itself is just a thin wrapper around this library. So if we just look at this link, we get to the home page of Rust Cardano at GitHub input minus output minus HK slash Rust minus Cardano. And we find the installation instructions here. So it's a simple matter of cloning the repository and then building the code with cargo build. So let's do just that. I copy paste the repository address, open a terminal window and Git clone. Then I cd into the directory and do cargo build. And that's it. So what do we expect of such an API that claims to interact with the Cardano blockchain? Well, first of all, we need the necessary data structures. So we must be able to talk about addresses and transactions and blocks and so on. Secondly, we need the necessary protocol functionality. So we want to be able to send transactions. We want to be able to fetch the newest blocks, synchronize the blockchain and so on. And finally, we would like some utilities to do, for example, cryptographic operations like hashing and signing. In order to find out whether Rust Cardano offers all of these, let's first build the documentation with Cardano with cargo doc. And once the documentation has built, you can look at it with cargo doc open and we must decide which crate we want to look at. So let's look at the promising sounding Cardano crate. Once this has opened, we can look at all the library has to offer. The first thing we said that an API like this should have are the data structures related to the blockchain. And if you see here under modules, all the things you can think of addresses, blocks, transactions and so on are all there. So if we look in the block module, then we see that there are various block types. For example, normal block and we see all the ingredients of a block like the header and the various cryptographic certificates and so on. And the transaction payload. And if we drill into that, you see that you get to the transaction type, which in turn has transaction inputs, transaction outputs. And all the things you need to describe a transaction. So the data structures are all there. And the second point we mentioned was protocol functionality so that you can actually do stuff on the network. And for that, we can look into the crate EXE common. And for example, in the network module API, we see that we have all sorts of interesting things to get the tip of the blockchain, get the block or a range of blocks and so on. The third point I mentioned that a library like this should offer was cryptographic and other primitives. And there's this great cryptoxide and you see that it offers all the things you would expect like various hash algorithms, digests, signing and so on. As I explained in the beginning, the Cardano CLI command line tool was built using this library. So if you need any examples of how to call the various API functions, you can browse the code of the Cardano CLI. And with that, I hope you have all you need to build exciting applications using the Cardano blockchain.