2022-06-17
3221
#blockchain
MacBobby Chibuzor
119345
Jun 17, 2022 â‹… 11 min read

Smart contract development: Common mistakes to avoid

MacBobby Chibuzor Go, Solidity, and Haskell developer interested in the cloud native world and blockchain technology. A fanatic for technical writing and open source contribution.

Recent posts:

react view transitions and activity api tutorial

React View Transitions and Activity API tutorial: Animate an AirBnB clone

Explore the new React ViewTransition, addTransitionType, and Activity APIs by building an AirBnB clone project.

Emmanuel John
May 9, 2025 â‹… 8 min read

gRPC vs REST: Choosing the best API design approach

Compare gRPC vs REST to understand differences in performance, efficiency, and architecture for building modern APIs.

Alexander Godwin
May 9, 2025 â‹… 6 min read
Why Go wasn’t the right choice for the TypeScript compiler

Why Go wasn’t the right choice for the TypeScript compiler

The switch to Go may be a pragmatic move in the short term, but it risks alienating the very developers who built the tools that made TypeScript indispensable in the first place.

Muhammed Ali
May 8, 2025 â‹… 4 min read
how and when to use type casting in TypeScript

How and when to use type casting in TypeScript

Discover the basics and advanced use cases of type casting, how and why to use it to fix type mismatches, and gain some clarity on casting vs. assertion.

Paul Akinyemi
May 8, 2025 â‹… 14 min read
View all posts

3 Replies to "Smart contract development: Common mistakes to avoid"

  1. Thanks for the good overview, although I cannot quite get the race conditions example. In smart contracts you cannot call anything simultaniously, Transactions and functions calls are atomic, so you cannot put the transfer call within the withdrawal call. Once withdrawal finishes the balance is updated. Please, let me know if I am wrong

  2. It’s somewhat concurrent. The withdrawBalance function starts, then in-between, the transfer function is run. When the transfer function ends, the withdrawBalance function continues and then end. Because the withdrawBalance function hasn’t updated the state, it could give the user more than the coin/money.

    Liken it to running a function inside the main function in Rust or Go.

  3. This insightful article highlights common mistakes to avoid in smart contract development – it reinforces the importance of metaverse training to ensure robust and secure implementations.

Leave a Reply