Introduction to Scrypto
Scrypto is the open source smart contract language of the Radix Network.
Scrypto is currently implemented as a set of libraries and compiler extensions for Rust that add syntax and data types to make use of specific features of the runtime environment of the Radix network, called Radix Engine. These features, syntax, and data types together enable and encourage an "asset-oriented" style of programming that is concerned primarily with the simple and direct management of assets like tokens and NFTs as first-class platform features.
In short, Scrypto is intended for the development of the on-ledger component of predictable, feature-rich DeFi (decentralized finance) applications.
If you’re just getting started and want to get straight to using Scrypto, the easiest place to begin is Building Your First Scrypto Component
Scrypto is currently released in "early access" form for developers to begin development of smart contracts – called "blueprints" and "components" in Scrypto – within their local development environment. Scrypto blueprints and components cannot currently be deployed to the Radix Network; this capability will be added in a future release of the network protocol called Babylon when Scrypto is planned to reach v1.0.
While Scrypto remains under heavy, active development, the core features offered today are sufficiently stable that knowledge gained writing blueprints and components using Scrypto today will carry forward to the form of Scrypto deployed to the network at Babylon's release.
Scrypto and Radix Engine were created in tandem to address significant shortcomings in existing smart contract languages used to develop DeFi applications.
Scrypto’s asset-oriented development approach requires specific features implemented in Radix Engine (v2) on the Radix Network. Key among these is the use of global platform-native "resources" to represent assets and "physical" asset behavior, implemented through a purpose-built finite state machine.
Building on Radix Engine’s capabilities, the Scrypto language exposes resource-based assets through a range of intuitive system functions and data types that eliminate much complexity and required error-handing in creating, manipulating, and managing assets in typical smart contract code.
Radix Engine is also designed in tandem with Radix’s intended sharded consensus mechanism, Cerberus, which will enable unlimited parallelism of Scrypto-based smart contract operation on the Radix Network.