# Odra > Writing smart contracts have never been easier! - [Odra framework](https://odra.dev/docs/intro) ## Getting started > 5 minutes to learn the most important Odra concepts. - [Flipper example](https://odra.dev/docs/getting-started/flipper) - [Installation](https://odra.dev/docs/getting-started/installation) ## Basics > Basic concepts of Odra Framework - [Cargo Odra](https://odra.dev/docs/basics/cargo-odra) - [basics/directory-structure](https://odra.dev/docs/basics/directory-structure) - [Odra.toml](https://odra.dev/docs/basics/odra-toml) - [Flipper Internals](https://odra.dev/docs/basics/flipper-internals) - [Storage interaction](https://odra.dev/docs/basics/storage-interaction) - [Host Communication](https://odra.dev/docs/basics/communicating-with-host) - [Testing](https://odra.dev/docs/basics/testing) - [Errors](https://odra.dev/docs/basics/errors) - [Events](https://odra.dev/docs/basics/events) - [Cross calls](https://odra.dev/docs/basics/cross-calls) - [Modules](https://odra.dev/docs/basics/modules) - [Native token](https://odra.dev/docs/basics/native-token) - [Casper Contract Schema](https://odra.dev/docs/basics/casper-contract-schema) ## Advanced > Advanced concepts of Odra Framework - [Delegate](https://odra.dev/docs/advanced/delegate) - [Advanced Storage Concepts](https://odra.dev/docs/advanced/advanced-storage) - [Attributes](https://odra.dev/docs/advanced/attributes) - [Storage Layout](https://odra.dev/docs/advanced/storage-layout) - [Memory allocators](https://odra.dev/docs/advanced/using-different-allocator) - [Building contracts manually](https://odra.dev/docs/advanced/building-manually) - [Signatures](https://odra.dev/docs/advanced/signatures) - [Delegating CSPR to Validators](https://odra.dev/docs/advanced/delegating-cspr) - [Factory](https://odra.dev/docs/advanced/factory) - [Wasm-Client](https://odra.dev/docs/advanced/wasm-client) ## Backends > Backends - [What is a backend?](https://odra.dev/docs/backends/what-is-a-backend) - [OdraVM](https://odra.dev/docs/backends/odra-vm) - [Casper](https://odra.dev/docs/backends/casper) - [Livenet](https://odra.dev/docs/backends/livenet) ## Examples > Examples - [odra-examples](https://odra.dev/docs/examples/odra-examples) - [Using odra-modules](https://odra.dev/docs/examples/using-odra-modules) ## Tutorials > The theory is good, but the practice is even better. Let's go through a few examples summing up all the Odra concepts. - [Access Control](https://odra.dev/docs/tutorials/access-control) - [Build, Deploy and Read the State of a Contract](https://odra.dev/docs/tutorials/build-deploy-read) - [CEP-18](https://odra.dev/docs/tutorials/cep18) - [Deploying a Token on Casper Livenet](https://odra.dev/docs/tutorials/deploying-on-casper) - [ERC-20](https://odra.dev/docs/tutorials/erc20) - [Ticketing System](https://odra.dev/docs/tutorials/nft) - [Odra CLI](https://odra.dev/docs/tutorials/odra-cli) - [Odra for Solidity developers](https://odra.dev/docs/tutorials/odra-sol) - [Ownable](https://odra.dev/docs/tutorials/ownable) - [OwnedToken](https://odra.dev/docs/tutorials/owned-token) - [Pausable](https://odra.dev/docs/tutorials/pauseable) - [Upgrading Contracts](https://odra.dev/docs/tutorials/upgrades) - [Using Proxy Caller](https://odra.dev/docs/tutorials/using-proxy-caller) ## Migrations > How to keep your code in sync with the latest version of the Odra Framework. - [Migration guide to v0.8.0](https://odra.dev/docs/migrations/to-0.8.0) - [Migration guide to v0.9.0](https://odra.dev/docs/migrations/to-0.9.0) - [Migration guide to v1.3.0](https://odra.dev/docs/migrations/to-1.3.0) - [Migration guide to v2.0.0 from 1.*](https://odra.dev/docs/migrations/to-2.0.0) - [Migration guide to v2.1.0 from 2.0.*](https://odra.dev/docs/migrations/to-2.1.0) - [Migration guide to v2.6.0 from 2.*](https://odra.dev/docs/migrations/to-2.6.0)