Smart contracts are computer programs or transaction protocols designed to automatically execute, control, or document binding actions or events. Smart contracts can be written in a variety of languages including Solidity, Vyper, Fe, Yu, and Yu+, however Solidity and Vyper are the most popular smart contract languages to program in due to their high human reliability. While eliminating the middlemen of transactions, Solidity-based smart contracts depend on a deterministic functionality, programmed into the contract.
Introduction to Smart Contracts
About Smart Contracts
The Foundation of Blockchain Transactions
Solidity: the Most Popular Smart Contract Language
Solidity is an object-oriented, high-level programming language, which allows developers to program around objects rather than a specific procedure. Originating from C++ and JavaScript, Solidity is a simplified experience for developers who are already familiar with these languages. Statistically typed, developers will have to define the type of value they wish to store so the contracts know what to compile into. This is the core of the smart contract’s deterministic functionality. When writing smart contracts, developers can also include a variety of plugins and modules to customize their deployment by using tools such as Remix or Solidity libraries.
Endless resources online to get started
Extensive community support
Mature developer toolset including such as Scaffold-Eth, Waffle, & HardHat
Solidity Resources to Get Started
Start Learning Solidity Today With Some of Our Favorite Resources
Start Learning Solidity
Introduction to Solidity
Discover the basics of Solidity in this descriptive article.
Solidity Documentation Site
Dive into the Solidity documentation site to further understand the capabilities of Solidity.
Ethereum Development Tutorials
Explore a curated list of tutorials from Ethereum community members all around the world.
Solidity Games
CryptoZombies
Learn the fundamentals of Solidity while creating a zombie army in this interactive educational game.
Ethernaut
Explore the core concepts of Web3 and Solidity in this EVM-based wargame. Each level is a smart contract that needs to be “hacked.”
Capture the Ether
After you’ve covered the basics, try your hand at finding vulnerabilities and common exploits in smart contracts.
Solidity Community
Solidity Developer Forum
Interact with other Solidity developers in this forum, used to ask and answer questions about Solidity development.
Crypto Devs Discord
Crypto devs is an extensive developer discord group with language-specific channels like Solidity.
Smart Contracts Power Prominent DeFi Projects
Smart contracts are fantastic at storing data, verifying rules, and executing actions autonomously, creating more streamlined processes. Today, smart contracts are used to create more functional systems within Web3 and beyond.
Automated Market Makers/Decentralized Exchanges
Decentralized exchanges rely on smart contracts to execute trades without an intermediary.
Lending & Borrowing Protocols
Overcollateralized lending contracts enable trustless borrowing of assets while offering lenders a place to yield.
Games
Play-to-Earn games require smart contracts to validate peer-to-peer transactions and create transparency between developers and gamers.
Multi-Signature Wallets
Smart contracts enable full control of funds and unlimited functionality.
NFTs
ERC-721 & ERC-1155 contracts allow end-users to view, purchase or sell NFTs.
Trustless Bridges
Through smart contracts, trustless bridges enable users to remain in control of their funds.
Oracles
Oracles query data from your smart contracts to create data feeds and real-time information.
Simplify the Development Experience
Smart contracts can be constructed in a variety of ways, however using frameworks and pre-made stacks can simplify the development experience. In the past, creating a smart contract required a collection of technology from different sources. Today’s most popular frameworks like Scaffold-Eth, HardHat, and Waffle include pre-built technologies or plugins to develop in one native environment.

Scaffold-ETH
A collection of commonly used Ethereum development tools to quickly deploy a Solidity smart contract, and launch a DApp with a React frontend and a deployed subgraph

OpenZeppelin
OpenZeppelin helps developers minimize risk, as their open-source code templates are battle-tested for Ethereum and other blockchains.

Waffle & Mars
Waffle is a library for compiling and testing smart contracts, and Mars is a deployment manager.

HardHat
Hardhat is an Ethereum development environment that helps developers manage and automate the recurring tasks inherent to building smart contracts and DApps.
Sign Up for the
Moonbuilders Newsletter
Stay up-to-date on the latest technical updates and project deployments.