2022-02-24
2468
#blockchain
Pranesh A. S.
94374
Feb 24, 2022 ⋅ 8 min read

Using the UUPS proxy pattern to upgrade smart contracts

Pranesh A. S. Backend Engineer and Blockchain Developer. Keep learning, spread knowledge.

Recent posts:

gemini 3 and antigravity

A developer’s guide to Antigravity and Gemini 3

Check out Google’s latest AI releases, Gemini and the Antigravity AI IDE. Understand what’s new, how they work, and how they can reshape your development workflow.

Elijah Asaolu
Dec 4, 2025 ⋅ 6 min read
bun 1.3 javascript runtime what's new

Bun 1.3: Is it time for devs to rethink the Node stack?

Learn about Bun 1.3, which marks a shift from fast runtime to full JS toolchain—and see the impact of Anthropic’s acquisition of Bun.

Alex Merced
Dec 4, 2025 ⋅ 9 min read

Stop using JavaScript to solve CSS problems

Stop defaulting to JavaScript. Modern CSS handles virtualization, responsive layouts, and scroll animations better than ever – with far less code.

Chizaram Ken
Dec 4, 2025 ⋅ 7 min read
replay december 3

The Replay (12/3/25): React’s next era, AI code review tools, and more

React’s next era, AI code review tools, and more: discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the December 3rd issue.

Matt MacCormack
Dec 3, 2025 ⋅ 30 sec read
View all posts

4 Replies to "Using the UUPS proxy pattern to upgrade smart contracts"

  1. Do we really need to import Initializer in our Pizza contract (Considering UUPSUpgradeable already has it). Or was it done here only to make tutorial more readable and understandable?

  2. Even though the contract inherit from UUPSUpgradable, upgradable pattern has to be specified in deployProxy function. Otherwise it defaults to transparent proxy.
    Should be something like this.
    const Box = await ethers.getContractFactory(“BoxV1UUPS”);
    console.log(“Deploying Box…”);
    const box = await upgrades.deployProxy(Box, [42], {
    initializer: “store”,
    kind: “uups”,
    });

Leave a Reply

Would you be interested in joining LogRocket's developer community?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now