Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions sites/wonderland/docs/development/solidity/defi-dapps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: DeFi & Dapps
---

Working in DeFi often means standing on the shoulders of giants and using existing code to speed up development. Some contracts are forked more often than others, and with time, they become famous or influential.

:::tip Ecosystem Awareness
Understanding these foundational contracts and standards is crucial for DeFi development. When you encounter similar patterns in protocols, you will recognize the battle-tested approaches that have shaped the ecosystem.
:::

## 🏗️ Foundational Contracts

These are the contracts that have shaped DeFi and continue to influence new protocols:

### Core Infrastructure
- [Chainlink](https://docs.chain.link/data-feeds) - The global standard for blockchain connectivity.
- [Everclear](https://www.connext.network/) - Cross-chain clearing and settlement protocol.
- [Gnosis Safe Multisig](https://github.com/safe-global/safe-smart-account/tree/main/contracts) - Multi-signature wallet standard used across DeFi.
- [OpenZeppelin Library](https://docs.openzeppelin.com/contracts/5.x/) - The gold standard for secure, audited implementations.

### DeFi Primitives
- [Synthetix](https://github.com/Synthetixio/synthetix/blob/develop/contracts/StakingRewards.sol) - Staking rewards pattern used across protocols.
- [UniswapV4 Hooks](https://docs.uniswap.org/contracts/v4/concepts/hooks) - Next-generation AMM extensibility.
- [Aave](https://aave.com/docs) - DeFi's largest lending network.

Some of the contracts and concepts above are pretty advanced, it is ok if you do not understand them completely. Just keep in mind that they exist for when you need them.

## 📚 Essential Standards & Concepts

These are the building blocks that define the DeFi ecosystem:

### Ethereum Improvements
- [EIP-1559: Fee market change](https://eips.ethereum.org/EIPS/eip-1559) - Understanding gas pricing mechanics.
- [EIP-7702: Set Code for EOAs](https://eips.ethereum.org/EIPS/eip-7702) - Givin EOAs super powers.

### Ecosystem Standards
- [ERC-3643: The Token Standard for RWA Tokenization](https://www.erc3643.org/) - Real-world asset tokenization.
- [ERC-4337: Account Abstraction](https://www.erc4337.io/) - Smart account infrastructure.
- [ERC4626 vault](https://erc4626.info/) - The vault standard that revolutionized yield-bearing tokens.

### Contract Creation Patterns
- [CREATE, CREATE2, CREATE3](https://blog.solichain.com/the-ultimate-guide-to-create-create2-and-create3-cc6fe71c6d40) - Deterministic contract deployment.
- [CREATEX](https://github.com/pcaversaccio/createx?tab=readme-ov-file) - Advanced deployment patterns.

Don't worry about understanding everything at once. Focus on the patterns that appear most frequently in the ecosystem, then expand your knowledge as you encounter new challenges.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ Next, familiarize yourself with our core coding standards:
- [Solidity Coding Style](docs/development/solidity/coding-style.md)
- [Gas Optimization Guide](https://www.rareskills.io/post/gas-optimization)

### DeFi & Dapps
Understanding the DeFi ecosystem is crucial for building robust smart contracts.
- A curated list of [DeFi & Dapps](docs/development/solidity/defi-dapps.md) resources.

It introduces you to the foundational contracts, standards, and patterns that every DeFi developer should know.

### Testing Framework
Testing is fundamental to our development process. Learn about:
- Our approach to [Unit and Integration Testing](docs/testing/unit-integration.md) with Foundry
Expand Down
1 change: 1 addition & 0 deletions sites/wonderland/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ const sidebars: SidebarsConfig = {
items: [
"development/solidity/coding-style",
"development/solidity/natspec",
"development/solidity/defi-dapps",
{
type: "category",
label: "Onboarding",
Expand Down
Loading