Base Learn is a comprehensive, free guide to learning smart contract and onchain app development.
Welcome to Base Learn, your guide to learning smart contract development. Base Learn’s curriculum has been expertly crafted to equip you with the skills and knowledge needed to build and deploy smart contracts on Base, or any EVM-compatible chain, including Ethereum, Optimism, and many more. Plus, you’ll be eligible to earn NFTs as you complete each module, showcasing your mastery of the material.
Whether you’re a curious novice or a seasoned pro looking to stay ahead of the game, our dynamic lessons cater to all levels of experience. You can start with the basics and work your way up, or dive straight into the more advanced concepts and push your limits to new heights.
Begin your journey today!
Base Learn covers the following topics. If you’re looking for quickstarts, or deeper guides on advanced topics, check out our Base Builder Tutorials!
if
, else
, while
, and for
require
to write a function that can only be used when a variable is set to true
revert
statement to abort execution of a function in a specific stateerror
to control flow more efficiently than with require
msg.sender
global variablestruct
(user-defined type) that contains several different data typesstruct
to maximize storage efficiencystruct
s depending on the types they containcall()
function to interact with another contract without using an interfaceuseAccount
HookuseAccount
hook to show the user’s address, connection state, network, and balanceisMounted
hook to prevent hydration errorsuseReadContract
HookuseReadContract
hook to fetch data from a smart contractuseReadContract
useBlockNumber
and the queryClient
to automatically fetch updates from the blockchainpure
or view
smart contract functionuseReadContract
on demandisLoading
and isFetching
to improve user experienceuseWriteContract
hookuseWriteContract
hook to send transactions to a smart contractuseWriteContract
useSimulateContract
hookuseSimulateContract
and useWriteContract
to send transactions to a smart contractuseSimulateContract
and useWriteContract
useWriteContract
, with arguments and a valueBase Learn is a comprehensive, free guide to learning smart contract and onchain app development.
Welcome to Base Learn, your guide to learning smart contract development. Base Learn’s curriculum has been expertly crafted to equip you with the skills and knowledge needed to build and deploy smart contracts on Base, or any EVM-compatible chain, including Ethereum, Optimism, and many more. Plus, you’ll be eligible to earn NFTs as you complete each module, showcasing your mastery of the material.
Whether you’re a curious novice or a seasoned pro looking to stay ahead of the game, our dynamic lessons cater to all levels of experience. You can start with the basics and work your way up, or dive straight into the more advanced concepts and push your limits to new heights.
Begin your journey today!
Base Learn covers the following topics. If you’re looking for quickstarts, or deeper guides on advanced topics, check out our Base Builder Tutorials!
if
, else
, while
, and for
require
to write a function that can only be used when a variable is set to true
revert
statement to abort execution of a function in a specific stateerror
to control flow more efficiently than with require
msg.sender
global variablestruct
(user-defined type) that contains several different data typesstruct
to maximize storage efficiencystruct
s depending on the types they containcall()
function to interact with another contract without using an interfaceuseAccount
HookuseAccount
hook to show the user’s address, connection state, network, and balanceisMounted
hook to prevent hydration errorsuseReadContract
HookuseReadContract
hook to fetch data from a smart contractuseReadContract
useBlockNumber
and the queryClient
to automatically fetch updates from the blockchainpure
or view
smart contract functionuseReadContract
on demandisLoading
and isFetching
to improve user experienceuseWriteContract
hookuseWriteContract
hook to send transactions to a smart contractuseWriteContract
useSimulateContract
hookuseSimulateContract
and useWriteContract
to send transactions to a smart contractuseSimulateContract
and useWriteContract
useWriteContract
, with arguments and a value