# Development frameworks

## Introduction to Frameworks <a href="#introduction-to-frameworks" id="introduction-to-frameworks"></a>

Building a full-fledged dapp requires different pieces of technology. Software frameworks include many of the needed features or provide easy plugin systems to pick the tools you desire.

Frameworks come with a lot of out-of-the-box functionality, like:

* Features to spin up a local blockchain instance.
* Utilities to compile and test your smart contracts.
* Client development add-ons to build your user-facing application within the same project/repository.
* Configuration to connect to Electroneum Smart Chain networks and deploy contracts, whether to a locally running instance, or one of Electroneum's public networks.
* Decentralized app distribution - integrations with storage options like IPFS.

## Prerequisites <a href="#prerequisites" id="prerequisites"></a>

Before diving into frameworks, we recommend you first read through our introduction to [dapps](https://developer.electroneum.com/foundational-topics/intro-to-dapps) and the [Electroneum Smart Chain stack](https://developer.electroneum.com/electroneum-stack).

## Available frameworks <a href="#available-frameworks" id="available-frameworks"></a>

**Truffle -** ***A development environment, testing framework, build pipeline, and other tools.***

* [trufflesuite.com↗](https://www.trufflesuite.com/)
* [GitHub↗](https://github.com/trufflesuite/truffle)

**Hardhat -** ***Ethereum development environment for professionals.***

* [hardhat.org↗](https://hardhat.org/)
* [GitHub↗](https://github.com/nomiclabs/hardhat)

**Ape -** ***The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals.***

* [Documentation↗](https://docs.apeworx.io/ape/stable/)
* [GitHub↗](https://github.com/ApeWorX/ape)

**Brownie -** ***Python-based development environment and testing framework.***

* [Documentation↗](https://eth-brownie.readthedocs.io/en/latest/)
* [GitHub↗](https://github.com/eth-brownie/brownie)

**Web3j -** ***A platform for developing blockchain applications on the JVM.***

* [Homepage↗](https://www.web3labs.com/web3j-sdk)
* [Documentation↗](https://docs.web3j.io/)
* [GitHub↗](https://github.com/web3j/web3j)

**OpenZeppelin SDK -** ***The Ultimate Smart Contract Toolkit: A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts.***

* [OpenZeppelin SDK↗](https://openzeppelin.com/sdk/)
* [GitHub↗](https://github.com/OpenZeppelin/openzeppelin-sdk)
* [Community Forum↗](https://forum.openzeppelin.com/c/support/17)

**Create Eth App -** ***Create Ethereum-powered apps with one command. Comes with a wide offering of UI frameworks and DeFi templates to choose from.***

* [GitHub↗](https://github.com/paulrberg/create-eth-app)
* [Templates↗](https://github.com/PaulRBerg/create-eth-app/tree/develop/templates)

**Scaffold-Eth -** ***Ethers.js + Hardhat + React components and hooks for web3: everything you need to get started building decentralized applications powered by smart contracts.***

* [GitHub↗](https://github.com/austintgriffith/scaffold-eth)

**Tenderly -** ***Web3 development platform that enables blockchain developers to build, test, debug, monitor, and operate smart contracts and improve dapp UX.***

* [Website↗](https://tenderly.co/)
* [Documentation↗](https://docs.tenderly.co/ethereum-development-practices)

**The Graph -** ***The Graph for querying blockchain data efficiently.***

* [Website↗](https://thegraph.com/)
* [Tutorial](https://ethereum.org/en/developers/tutorials/the-graph-fixing-web3-data-querying/)

**Alchemy -** ***Ethereum Development Platform.***

* [alchemy.com↗](https://www.alchemy.com/)
* [GitHub↗](https://github.com/alchemyplatform)
* [Discord↗](https://discord.com/invite/A39JVCM)

**Foundry -** ***A blazing fast, portable and modular toolkit for Ethereum application development written in Rust.***

* [Documentation↗](https://book.getfoundry.sh/)
* [GitHub↗](https://github.com/gakonst/foundry/)
* [Tools for Foundry↗](https://github.com/crisgarner/awesome-foundry)

**NodeReal -** ***Ethereum Development Platform.***

* [Nodereal.io↗](https://nodereal.io/)
* [GitHub↗](https://github.com/node-real)
* [Discord↗](https://discord.gg/V5k5gsuE)

**thirdweb SDK -** ***Build web3 applications that can interact with your smart contracts using our powerful SDKs and CLI.***

* [Documentation↗](https://portal.thirdweb.com/sdk/)
* [GitHub↗](https://github.com/thirdweb-dev/)

**Chainstack -** ***Web3 (Ethereum and otherwise) Development Platform.***

* [chainstack.com↗](https://www.chainstack.com/)
* [GitHub↗](https://github.com/chainstack)
* [Discord↗](https://discord.gg/BSb5zfp9AT)

### Related topics <a href="#related-topics" id="related-topics"></a>

* [Set up a local development environment](https://developer.electroneum.com/etn-sc-client/getting-started/instaling-etn-sc)
