Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

avatar
Chainlink
2 years ago
This article is approximately 3371 words,and reading the entire article takes about 5 minutes
Comprehensive tools guide for smart contract, blockchain, Web3, Ethereum and Solidity developers.

Original Author: Patrick Collins @Chainlink

Original translation: head

Comprehensive tools guide for smart contract, blockchain, Web3, Ethereum and Solidity developers. Plus a brief introduction to Solana, Terra, and other Rust smart contract-based tools

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

Last year, I studied someThe top framework for smart contract developers, this year, we will expand to more.

Well look at ten categories of tools, and then look at the tools in each category that are best for smart contract/blockchain/solidity/vyper/rust/web3 developers (we have too many terms for blockchain developer these days) .

Ive used every tool on this list to some degree, so you can rest assured that Im not simply copy-pasting a list of tools. To start with a little introduction for those who dont know me, I live in the world of smart contracts and work with some of the best people in the industry as aChainlinkProject Developer Advocate,My Own Blockchain Infrastructure CompanyCEO, and a web3 enthusiast. This will give you what some of the best developers in the world use. However, this list is not a list of everything, so sorry if I missed your tool! Its just something I think every developer needs to be aware of. So, lets get started!

This article includes the following:

  • Smart Contract Guide

  • Smart Contract Essentials

  • wallet

  • wallet

  • Block Explorer (Browser)

  • front-end tools

  • front-end tools

  • security analysis

  • security analysis

  • Monitoring and Maintenance

Additionally, we created atheme videofirst level title

1. Smart contract language

secondary title

Solidity

If you are new to smart contracts, you should start withsoliditystart. If youve been doing smart contracts, you probably already know about solidity. It is undeniable that Solidity is the most important and most commonly used smart contract development language. Solidity is suitable for most smart contract platforms, such as Ethereum, Avalanche, Moonbeam, Polygon, BSC, etc. This is due to the fact that most blockchains have adoptedEthereum Virtual Machine (EVM), and solidity is born for it. in the current rankingTop 10 Defi ProjectsOf these, nine use Solidity as their primary programming language.

I predict that 90% of the value of smart contracts will be implemented in solidity in the future. The Solidity language is actively maintained and has tons of support.

you can also putyul/assemblysecondary title

Vyper

Vyperis another EVM-compatible language, which is mainly used byTop 10 Defi ProjectsOne of the uses (some other projects use it as a helper), i.e.Curve.fisecondary title

Rust

RustIt is a newborn on the block, and it is not applicable to the blockchain of EVM, such as Ethereum, Polygon, Binance Smart Chain and so on. However Rust can be deployed toSolanaTerraWait for the chain, or in thePolkadotBuild blockchain applications. Rust is a general-purpose language with good performance, even used outside of smart contracts; therefore, many public chains choose it as their development language. The logic is, Oh well, some developers already have Rust, so lets make Rust available to developers in as many places as possible.

secondary title

Smart Contract Language Summary

  • Must Know: Solidity

  • Python lovers: Vyper

  • Terra, Solana,first level title

2. Essential tools for smart contracts

secondary title

Chainlink

Chainlink isBlockchain oracle, it is a smart contract to beHybrid Smart Contracttool, which includes some off-chain components and connects with the real world. Smart contracts are great, but they have the huge problem that they are not connected to the outside world in any way. To keep smart contracts decentralized using some off-chain components like data or off-chain computation, off-chain data and computation must be decentralized, which is what the Chainlink network and tools do. The vast majority of top smart contract platforms are hybrid smart contracts and use oracles as a key part of their infrastructure. just lookDeFipulseFor the first 10 projects, you will know which ones are mixed.

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

Asteriks explanation*: Uniswap has an oracle product. Yearn and Instadapp are aggregators that work with protocols that use oracles/are hybrid. Sushiswap uses oracles for leveraged trading. It can be seen that at least 50% of the projects use oracles as an important part of the infrastructure, and another 30% (80% in total) use oracles in some way. Obtainable through the oracleasset pricingrandom numberrandom numberEvent-driven automated execution,etc.

Chainlink is an essential feature for any smart contract developer entering the space,No matter what language or blockchain

Flash loan attackFlash loan attack, oracle manipulation attacks, etc.Hacktivism, causing nearly billions of dollars in losses in the Defi field. Most harrowingly, more than half of this is preventable through the use of reliable oracles like Chainlink. Please do not allow you or your friends to use centralized or insecure oracles in 2022.

secondary title

Openzeppelin

OpenzeppelinConsolidated its position as the solidity standard library. Anytime any developer (myself included) is looking for a quick way toDeploy NFT/ERC721ERC20upgradeable contractDAO/Governance, or any project that a developer in this field wants to do, nine times out of ten, youll want to find an Openzeppelin package.

secondary title

Summary of Smart Contract Essentials

  • Must Know: Chainlink and Openzeppelin

  • You can (and probably should) use both of these things. From what I know of these technologies, it cannot be overemphasized.

3. Deploy and test the framework

Last year, my review article wasspecifically for this category, so this year, I have to tell you about the difference in what I think these frameworks are today. Smart contract frameworks are an important part of any developers job. They help you efficiently test and deploy smart contracts. Mastering at least one of these is a critical step to success.

For a more intuitive understanding, take a look at the chart I compiled from defpulse, showing the development frameworks used by some of the top DeFi projects.

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

Defipulses top 10 Defi projects and the smart contract development frameworks they use In addition, I look at the current situation of these development frameworks in this way:

Star player:

HardhatBrownieDappTools

Excellent player:

RemixTruffleApeworxFoundry

Substitutes:

Wafflesbt-ethereumweb3jEmbarkSaddle

Non-EVM:

AnchorTerraSDK

secondary title

Etherlime, Openzeppelin SDK, Cobra, Parasol

star player

Hardhat

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

Now, the hardhat framework is the most important smart contract development framework. Hardhat is a development framework based on javascript and solidity, which can quickly improve the development speed of your application. you can viewhardhat-starter-kit, learn about the use cases of the hardhat project.

With Hardhats testing speed, TypeScript support, widespread adoption, and incredible developer experience-focused team, its no wonder its popularity has risen so quickly. At this time last year, I made this framework a top priority, and it still is. it is used in the backendethers.js, comes with a native blockchain for testing, and the team is currently buildingA new advanced development platform, integrated into Hardhat, I am extremely excited about this attempt in 2022.

If you know me, due to all kinds of javascriptweirdness, Im not its biggest fan, so many times, I prefer to use Hardhat with typescript. Hardhat is easily my second most used framework.

I highly recommend this framework if you like javascript, or if you want to use the most popular and most supported framework.

Brownie

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

If youve read any of my other material, youll know Im in lovebrownieframe.

Brownie is an open source python-based framework built onweb3.pyandCurve.fiBadgerand other protocols are used. It supports both solidity and vyper, but the main highlight of this framework is based on python. Brownie was born because many python engineers despised working in javascript and wanted a framework for python. In addition, most traditional fintech fields use python instead of javascript, so with the creation of Brownie, it is also easier to move from the fintech field to Defi.

Brownie is my framework of choice when creating new projects, and Im a self-proclaimed brownie developer advocate. you can viewbrownie-starter-kit(also called mixes in the Brownie world), start developing with the framework. Be sure to checkBrownie MixesList of other starter kits in the repo.

No

DappTools

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

AlthoughDapptoolsNogorgeous logo, but its an application built in Haskell. But dont worry, you dont need to know Haskell to use it.

Dapptools mainly consists ofMakerDAOteam (the team behind DAI), it was inspired byUnixPhilosophy: A program only does one thing, and do it well. (Write programs that do one thing, and do it well.) Dapptools is a tool focused on the command line, here, you can use your Already familiar command line/shell tools like bash or zsh instead of python, javascript or other high-level programming languages ​​to help you develop. This effectively reduces one technique you have to be familiar with and forces you to get better at shell scripting! It comes with a suite of tools such as dapp, seth, ethsign, and hevm, each of which is specifically designed as an essential part of a smart contract developers daily work.

Ive recently started working with Dapptools and I like the way of thinking behind it. I wrote aStarter kit for Dapptools, showing how to use the tool. To use Dapptools, you need to be able to usemakefilesand shell scripts to productionize your code. Dapptools believes that tests should be written in solidity, andfuzzingShould be built in.

My experience with it has been a bit clumsy, but I think a lot of that comes from my mediocre bash scripting skills. I think everyone should be better at shell scripting and I love that it forces me to learn.

If you dont want to learn another language like javascript or python, you like to use as few tools as possible in your setup, you like MakerDAO, or@transmissions11secondary title

excellent player

Remix

My brief review of Remix: Everyone should know how to use itRemix, but not necessarily for production environments.

Remix is ​​not a framework per se, but more like aIDE. Remix is ​​a tool that I think everyone should start with so that everyone can have a common understanding when trying to share ideas. Not everyone will know the concatenation of python, javascript or bash scripts, so using a tool like Remix is ​​perfect since it is a visual one.

When a contract is deployed, Remix will present buttons to interact with it. Its easy to choose a solidity version, compile, run solidity tests, etc. It also has javascript scripting options if you want to use javascript. Remix is ​​extensible, so if you want to add functionality, you can extend it, and evenBuild a Remix development environment on the local host, to run code from your local repository.

Remix is ​​a tool that brings everyone together, and Im glad we have a team working on such an amazing tool to help everyone. However, Remix is ​​not something I would recommend for advanced users, as youll need more fine-tuned tools in your local development environment instead of always relying on a web IDE. I dont recommend advanced settings for Remix, however, if you enjoy working with it, its possible!

I strongly recommend that everyone familiarize themselves with Remix (if you know solidity, you can start directly).

Truffle

Trufflewas one of the first frameworks to emerge, originallyConsensyspart of Consensys, which was spun off from Consensys and then merged back into Consensys. It is a javascript based framework that includesGanache(even frameworks like brownie use it),Drizzleand now the latesttruffle teamsand other tools. Truffle has the greatest historical influence among all frameworks. You can see their impact on the industry. Many frameworks have adopted Truffles practices. We should feel lucky that this team came along and built such an excellent starting point for the framework. If you want to try it out, take a look atTruffle Starter Kit

documentdocument, launchingSeventh Edition of Ganache, I spoke to their team and they told me they have big plans and Im excited.

Back in 2019, everyone had heard of or was using Truffle, but in the time since then, things have changed. Hardhat has been on the rise to solidify itself as the de-facto javascript framework. I often run into weird bugs when using Truffle; their TypeScript support is subtle, and tests run faster thanHardhatmuch slower. Right now, its hard to argue for Truffle when Hardhat is better at everything.

In early 2021, ImentionedIm nervous about Truffle, and from what I know about the framework, it looks like 2021 is the year Hardhat takes over. However, I think the future of Truffle is still bright. They have a really great team, theyve figured out where Truffle will live (with Consensys now), and Im expecting big things from them in 2022.

Ganache is a framework. If you start to contact the smart contract development framework from Truffle and like the syntax of Truffle, you should use this framework. In most cases, I recommend Hardhat over Truffle; however, I think Ganache is still a powerful tool and recommend that anyone looking to work with building a testnet locally take a look at Ganache. It has a nifty UI component that can be used to see transactions more easily; its simple to start and can be installed globally.

ApeWorX

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

ApeWorXis a newcomer to Python that branched out from the brownie community and made a better version of its ancestorbrownieA more modular financial-focused framework.

Apeworx has the same setup and syntax as brownie, but has some interesting improvements when applied.

Ive only used Apeworx a bit, it feels very brownie-like, and I love the addition of plugins. Its unclear if this will be a sequel to Brownie (similar to Hardhat taking over Truffles mind), or if the two will exist side-by-side. Anyway, Im really looking forward to seeingDoggieAnd his team will create something in 2022, and definitely a framework to watch, if you want some brownie-like framework that can add plugins, give it a try.

Foundry

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

Foundryis written in Rustdapptools. This is the most straightforward summary of the tool.

Ive been using foundry a little less than Dapptools, and it feels like this might be the successor to Dapptools, but Im not sure. It is also command-line based, requires a similar file structure, and almost all commands from Dapptools are similar to foundrys.ParadigmTeamsGeorgiosand friends reinvented the popular Dapptools, even in theirpost articleA tribute to Dapptools.

Many commands and file structure settings are the same as Dapptools. This framework is fast, powerful, focused on building tests in Solidity, and has built-in fuzzing and other powerful tools.

secondary title

Substitute

Ill go a little faster in this section, because these are probably frameworks you want to use, but Im not too familiar with them, or havent tried them well myself.

Waffle

Waffleyes

Saddle

SaddleyesCompoundA reinvention of Truffle. If you like Compound, give this one a try!

sbt-ethereum

In the past few years, I have not used java much, this is in my trialsbt-ethereumshowed up when. Sbt-ethereum markets itself as:

A text-based interactive platform created for hobbyists — people who are not programmers * — *sbt-ethereum.io

This is another framework I got to know about last year, unfortunately my scala skills are not great. However if you want to use the command line, this is another option.

Web3j/Epirus

This is another framework I learned about in the last year; looking at their website, it seems their main product has moved from a framework to an enterprise block explorer. However, they still have theirweb3jpackage, which is a java-based framework. If youre a java developer, give this a try and see how it feels.

Embark

EmbarkI gave it a pretty stellar review last year. I am able to test and deploy smart contracts from their framework and use some UI tools. However, it has not received it for over a yeargit committedsecondary title

non-EVM

Anchor

For now, I thinkAnchorThe framework is currently the largest non-EVM framework on Solana. If you do development on Solana, I highly recommend you tryAnchor, as it feels like the best solution right now.

TerraSDK

Terraand aTerra.jsand apython SDKfirst level title

4. wallet

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

secondary title

MetaMask

Metamaskis a tool that almost everyone in the field knows or should know. Its simple, its great for in-browser testing, and its what all front-end developers need to do. Almost everyone should have a Metamask or some Metamask-like browser wallet (like the one on SolanaPhantom)。

hot wallethot walletsecondary title

Gnosis Safe

Gnosis safeKnown as a multi-signature wallet, meaning it requires X number of signatures to send a transaction. That way, it doesnt matter if a wallet is compromised, since the attacker would need to compromise at least half of the key holders.

andSnapshot

Ledger / Trezor

LedgerandTrezorKnown as cold wallets, or wallets that are cumbersome to convert. This cumbersomeness is intentional; they make it harder for you to move funds, and harder for attackers.

first level title

5. Blockchain explorer

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

secondary title

Etherscan

ah,EtherscanandPolygonETH 2andBinance Smart Chainsecondary title

Etherchain

However, Im glad they have competition, so they have to be on their toes!Etherchainis a lightweight block explorer that also releases aETH 2 secondary title

Ethplorer

Another ETH block explorer,Ethplorer, may be another browser you might want to know about.

first level title

6. Layer 1 node service

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

secondary title

Alchemy

Alchemysecondary title

Infura

Infurasecondary title

Moralis

i dont even knowMoralissecondary title

QuickNode

If one of the above does not have the blockchain I want,QuickNodefirst level title

7. Front-end tools

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

and

Web3js/Ethersjs

Web3jsandEthersjssecondary title

Moralis

MoralisorEtherscanorOpensea; maybe you need a list of NFTs owned by the address. There are a lot of things you might want to do, and Moralis has built-in support for them.

It has everything you need, including an open source toolkit and a cloud-based service framework.

I highly recommend everyone building a web3 site in 2022 to know about Moralis. they have manytemplatesecondary title

UseDapp

Usedappsecondary title

Drizzle

DrizzleFrom the family of Truffle, Metamask, Infura and Consensys, well done. It creates some simple wrappers around your javascript to work with your contracts, and it has React support built in too! please seesecondary title

more tools

andcreate-eth-appandscaffold-ethfirst level title

8. Get help and support

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

Every developer should know how to get help when they have a problemBasic Roadmap

1. Google the exact error

2. Look it up on StackOverflow or Stack Exchange ETH (or any Stack Exchange)

3. Raise an issue on the projects Github

4. Ask questions on the forum

5. Ask a question in Discord

When asking questions in these places, your questions should be:

1. Searchable: so other people with the same problem can find your problem.

2. Minimization and reproducibility: the more specific your use, the less likely you are to have an answer.

You should consider asking questions in forums or stack overflow as living documentation. The better your question is formatted, the easier it will be to answer. There are no bad questions, only badly formatted questions; make your question agood questionsecondary title

StackOverflow & Stack Exchange ETH

Heres your rule of thumb: If I have a question and its answer doesnt appear on the first page of Google results, I should post it on Stack Overflow.

By doing this you will get the answers you want while helping the whole community! Sometimes its not always possible to get a response from these sites, because sometimes your question may be too difficult, no one has done it before, or people who know the answer havent seen it. From time to time, I will include a link to my question in the discussion board to draw more attention to it. But a rule of thumb is that Stackoverflow or Stack Exchange ETH should be one of the first places I look when I have a problem.

secondary title

Discord

In 2022, I hope we move fromDiscordforum

forum

Forums are great because they are indexed and ranked like StackOverflow. A good example isOpenzeppelin Forumfirst level title

9. Security Analysis Tools

Crypto technology house must-see: 2022 Top Ten Smart Contract Development Tools Guide

We all know that auditing is critical when publishing code to the blockchain, as anyone can view it and once it is published, it can be exploited! Therefore, it is very important to have some tools that can help us ensure that there are fewer errors in our code. Several tools have emerged in this space to make our smart contracts more secure.

andcharinganeandMatt Solomon.

secondary title

Slither

Slitheris becomingstatic analysisOne of the preferred tools. Slither byTrail of Bitssecondary title

MythX

MythXsecondary title

Mythril

Mythrilsecondary title

Manticore

Manticoreis another Trail of Bits tool, but instead of doing static analysis, it doessymbolic executionsecondary title

Echidna

Next up, Trail of Bits (you know why theyre one of my favorites) is back withEchidna. This is a for the EVM contractfuzzersecondary title

Securify

Securifyfirst level title

10. Monitoring and maintenance

Our last section has no pictures because for monitoring I usually use a lot of my own scripts. However, I thinkandandTenderlyis a tool you should be 100% familiar with. They are both tools that allow you to monitor your production code and make sure it stays secure!

Summarize

Summarize

This is my biggest post yet and it includes a huge list of tools. I know there are many, but the more you build in this space, the more you realize how important each of these tools is to building applications quickly.

2022 is going to be a crazy year, and I hope Ive given you some ideas of what to try this year to build your amazing, unique, inspiring web3 applications.

Let me know what tools you think Ive missed, let me know in the comments section! I wish you a happy new year! Lets make it big!

If you want to start your blockchain journey this year, check out howBecome a Blockchain Engineer, and this hasA list of 10 great resources

This article is translated from https://betterprogramming.pub/top-10-smart-contract-developer-tools-you-need-for-2022-b763f5df689aOriginal linkIf reprinted, please indicate the source.

ODAILY reminds readers to establish correct monetary and investment concepts, rationally view blockchain, and effectively improve risk awareness; We can actively report and report any illegal or criminal clues discovered to relevant departments.

Recommended Reading
Editor’s Picks