Guides

Deconstructing a Solidity Contract — Part IV: Function Wrappers

In the last article, we saw how the function selector acts as a hub or a switch of sorts in our BasicToken.sol contract. It sits at the entry point of a contract and redirects execution to the…

Deconstructing a Solidity Contract — Part III: The Function Selector

In the previous article, we identified the need to separate a contract’s bytecode into creation-time and runtime code. Having made a deep dive into the creation part, it’s now time to begin...

Towards frictionless upgradeability

ZeppelinOS is all about making the technology of upgradeability into an accessible and frictionless tool for developers. Ideally, we want to enable a developer to create upgradeable instances...

Deconstructing a Solidity Contract — Part II: Creation vs. Runtime

Let’s get started by attacking the disassembled gibberish of our contract with our divide-and-conquer lightsaber. As we saw in the introductory article, this disassembled code is very low-level...

Deconstructing a Solidity Contract —Part I: Introduction

You’re on the road, driving fast in your rare, fully restored 1969 Mustang Mach 1. The sunlight shimmers on the all-original, gorgeous plated rims. It’s just you, the road, the desert, and the…

Getting started with ZeppelinOS

Blockchains are immutable, and Ethereum is no exception. Ethereum has a rich smart contracts ecosystem that greatly lowers the barriers to creating new decentralized applications (DApps), governance…

Ethereum in Depth, Part 2

Welcome to the second part of this guide. If you haven’t read part 1, I highly recommend it to better understand this post. This second article will explain everything about data management.

Exploring upgradeability governance in ZeppelinOS with a Gnosis MultiSig

With the first release of ZeppelinOS two months ago, the key issue we wanted to tackle was upgradeability: that is, the ability to modify the logic of a smart contract already deployed to the...

Ethereum in Depth, Part 1

Welcome to the first part of a two-posts series aimed at software developers looking to understand how the EVM works. The idea is to explain and describe in detail core behavior of the EVM.

Proxy Patterns

One of the biggest advantages of Ethereum is that every transaction of moving funds, every contract deployed, and every transaction made to a contract is immutable on a public ledger...

Deconstructing a Solidity Contract — Part IV: Function Wrappers

In the last article, we saw how the function selector acts as a hub or a switch of sorts in our…

Read More

Deconstructing a Solidity Contract — Part III: The Function Selector

In the previous article, we identified the need to separate a contract’s bytecode into…

Read More

Towards frictionless upgradeability

ZeppelinOS is all about making the technology of upgradeability into an accessible and frictionless…

Read More

Deconstructing a Solidity Contract — Part II: Creation vs. Runtime

Let’s get started by attacking the disassembled gibberish of our contract with our…

Read More

Deconstructing a Solidity Contract —Part I: Introduction

You’re on the road, driving fast in your rare, fully restored 1969 Mustang Mach 1. The sunlight…

Read More

Getting started with ZeppelinOS

Blockchains are immutable, and Ethereum is no exception. Ethereum has a rich smart contracts…

Read More

Ethereum in Depth, Part 2

Welcome to the second part of this guide. If you haven’t read part 1, I highly recommend it to…

Read More

Exploring upgradeability governance in ZeppelinOS with a Gnosis MultiSig

With the first release of ZeppelinOS two months ago, the key issue we wanted to tackle was…

Read More

Ethereum in Depth, Part 1

Welcome to the first part of a two-posts series aimed at software developers looking to understand…

Read More

Proxy Patterns

One of the biggest advantages of Ethereum is that every transaction of moving funds, every contract…

Read More