Our Smart Contract Development Process in Four Minutes (2024)

The following presents a brief description of how we build and deploy smart contracts on the Ethereum blockchain.

Our Smart Contract Development Process in Four Minutes (3)

Discovery and User Stories

At the start of any web3 project we first begin with our Discovery process. We use our Discovery process to evaluate the current state of a project as well as identify software requirements in the form of user stories. To do this we interview project stakeholders, perform necessary technical research, and map out feedback-driven iterations of the user stories. The length of Discovery depends on the current state of a project as well as its size and scope. In general it takes anywhere from two weeks (one sprint) to two months to complete Discovery.

Architecture

We then transition and map out the architecture for the smart contracts. This phase is extremely important and requires a great deal of attention and foresight. If the wrong architecture is implemented it will introduce long-term technical debt and introduce inefficiencies that often compound over time.

As we design the architecture, it’s critical we focus on storage considerations, operational complexity, logic flows, on-chain vs. off-chain functionality, use of layer 2 or sidechain solutions, and upgradability (if necessary). Most importantly, we strive to design smart contract systems that are as modular and lightweight as possible. This enables us to extend them when necessary and to mitigate against “unknown unknowns”. Lastly, because the smart contracts we build and deploy are transparent and composable, we need to ensure the architecture and system designs are intuitive and easy for other developers to build on top of.

Implementation

For implementation we use an agile scrum process that consists of two-week sprints. We kickoff each sprint with a 1-hr sprint planning meeting. There we assign user stories (i.e., tickets) and their corresponding scenarios and acceptance criteria to the engineering team to implement. Engineers will estimate how much effort they believe will be required to implement the user stories they’ve been assigned. These story point estimates are used to track sprint velocity over time. After sprint planning, we transition into daily 15-minute standups where the team shares their progress, outstanding questions, and any blockers. At the end of each sprint we have a sprint retrospective where we discuss what went well during the sprint, what could be improved and what will we commit to improve in the next sprint.

In order to monitor code quality we have a two part review process. The first phase is automated. That is, we use workflows and pipelines to perform automated linting and unit / integration tests to ensure everything is passing. We also incorporate storage and security scanners into our workflows to make sure we’re not at risk of running out of storage space, overwriting storage or introducing common security vulnerabilities (e.g.,reentrancy). We typically use tools like hardhat-storage-layout, MythX and Slither for this.

The second phase of our review process is manual. That is, the Senior Smart Contract Engineer on the project will review all pull requests, provide feedback and questions, and ensure the code is in a state that warrants merging the pull request into the master or staging branches.

Lastly, throughout the implementation process we ensure all code is well documented and conforms to the NatSpec format.

Security Audit: Preparation and Response

After the contracts have been implemented we prepare for a security audit from a trusted third party. First, we ensure all security warnings from MythX and Slither have been addressed. Then, we confirm that we have test coverage for all functionality and use cases before we deploy to testnet for manual testing. For manual testing we create a spreadsheet for each contract and list out each and every test scenario and the corresponding acceptance criteria we account for in our unit and integration tests. We then test the contracts manually through Etherscan’s interface and update the spreadsheet for each test scenario with pass or fail. After everything passes manual testing we “freeze”the codebase for the auditors and ultimately address any issues they uncover during their audit.

Deployment and Monitoring

Throughout the entire process, and in particular, after the audit is complete, we work closely with the front-end team to integrate the smart contracts with the front-end interface on testnet before ultimately deploying to mainnet. Once on mainnet we use tools like Tenderly to monitor our contracts and ensure we’re alerted if anything anomalous happens.

Then we celebrate!

Our Smart Contract Development Process in Four Minutes (2024)
Top Articles
Clean up & troubleshoot your Google storage - Computer
Deduct Crypto Losses on Your Tax Return: Tax Loss Harvesting
Ou Football Brainiacs
Provodac: Unveiling the advanced-technology - Business Caution
955 Ups jobs in Amsterdam
The Fat Soluble Vitamins Are Weegy
12+ MATCHING BEST FRIEND TATTOOS TO Show Off Your Bond With Your Bestie
Mienviro
How are investment banks changing?
Amazing Lash Bay Colony
Union Corners Obgyn
Swimgs Sodor Party Golfing Three Tabs Sabrina Lloyd Hit Music Winnie The Pooh Halloween Bob The Builder Christmas Summers Cow Dog Pig Seek Mister Rogers’ Neighborhood Seek Category Pages Fun Turning Invisible Pledge Break The Alpha Baa Baa Twinkle
Hodgkins Il Ups Delay 2022
Watermarke Tower Shooting
Preschool Smiles Discount Code
Joy Studio Yupoo
7Starhd Movies
Europa Universalis 4: Army Composition Guide
Schedule An Appointment With H&R Block
Tcp Cypresswood
The Africa Forum Berlin: Reframing Conservation for a Sustainable Future
Digoxin Ati Medication Template
Catholic Church Near Seatac Airport
Lady Wicked Playground
Swgoh Darth Malgus
(6302Z) Rillenkugellager einreihig 2Z Deckscheibe beidseitig, Außen-Ø 42mm, Innen-Ø 15mm, Breite 13mm von NTN
Befouled Bolt Ons
Hurst Or Tonyan
What is God Saying To YOU Today?
LA ABUELA (2021) – „Sie wartet auf Dich“ | Filmkritik
Mechanic Falls woman interviewed for paranormal documentary on the Bridgewater Triangle
Sinfuldeeds Legit Married Italian
Hampton Chronicle Hampton Iowa
Ogden Body Rubs
Webmail Inmotion Hosting Login
Wal-Mart 5220 Supercenter Photos
Eras Tour Photographer Brings Exhibition to Miami
Truist Cash Reserve: Line of Credit | Truist
Six Sigma: The Definitive Guide - SM Insight
Lexiacore4
Sam's Club Gas Price Mechanicsburg Pa
Thankful Thursday Good Morning Images
Heb Partnernet Peoplesoft Login
Princessdk
Foxes Are Amazing 99.Github Io
Part Time Jobs Petsmart
Express Employment Sign In
Mangadex.oeg
Jodie Sweetin Breast Reduction
Flashscore Tennis Scores
Joes Barbershop Maricopa Az
Chelactiv Max Cream
Latest Posts
Article information

Author: Kieth Sipes

Last Updated:

Views: 5656

Rating: 4.7 / 5 (67 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Kieth Sipes

Birthday: 2001-04-14

Address: Suite 492 62479 Champlin Loop, South Catrice, MS 57271

Phone: +9663362133320

Job: District Sales Analyst

Hobby: Digital arts, Dance, Ghost hunting, Worldbuilding, Kayaking, Table tennis, 3D printing

Introduction: My name is Kieth Sipes, I am a zany, rich, courageous, powerful, faithful, jolly, excited person who loves writing and wants to share my knowledge and understanding with you.