How to create contracts with previously calculated addresses and recover CELO that were sent to it

In this comprehensive tutorial, you will learn step by step how to create contracts with deterministic addresses using the CREATE2 opcode and the renowned OpenZeppelin library. This innovative approach will allow you to precalculate the address of a contract before even creating it, providing greater control and predictability in the development of decentralized applications (DApps) on the Celo network.

Throughout the tutorial, we will explore the functionality of the CREATE2 opcode, which enables the creation of contracts at specific addresses calculated based on predetermined data. This is particularly useful when you want to ensure the existence of a contract at a specific address before performing transactions or interactions with it.

Let’s start by sending CELO to an address that doesn’t have an associated contract yet. Then, using the CREATE2 opcode and the OpenZeppelin library, we will create a contract with the precalculated address. This will demonstrate practically how it is feasible to create contracts at deterministic addresses.

By mastering this technique, you will have greater control over the development of smart contracts and be able to design more efficient and secure solutions for your decentralized application. Get ready to dive into a hands-on tutorial that combines theoretical concepts with practical implementation, allowing you to gain valuable skills in the world of blockchain and smart contracts on the Celo network.


This piece looks great in proposal. I look forward to it!



1 Like

This proposal sounds like a much needed one, looking forward to seeing it

1 Like

Wow. This is gonna be great.

1 Like

thx man