Introduction to Smart Contracts

About Smart Contracts

The Foundation of Blockchain Transactions

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.

Advanced Security

Though transaction history may be easy to find, all transactions signatures are cryptographically secure, eliminating the possibility of forgery.

Trust and Transparency

The elimination of intermediaries removes the possibility of human error or transaction processing times.

Speedy and Efficient

Once conditions are met, smart contract transactions are completed automatically.

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.

Real-World Use Cases

CoinTelegraph

Hybrid Smart Contracts Will Replace the Legal System

CoinTelegraph

Yahoo Finance (1)

Three Ways Smart Contracts are Used in Healthcare

Yahoo Finance

Herasoft (1)

Can Smart Contracts Revolutionize Real Estate?

HeraSoft

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 frameworks

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

Scaffold-ETH GitHub
OpenZepplin logo small

OpenZeppelin

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

Open OpenZeppelin
Mars/Waffle logos small

Waffle & Mars

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

Open Waffle
Hardhat Logo Small

HardHat

Hardhat is an Ethereum development environment that helps developers manage and automate the recurring tasks inherent to building smart contracts and DApps.

Open HardHat