# \#tutorial

**URL:** https://forum.openzeppelin.com/tag/tutorial/3.md

[Latest](https://forum.openzeppelin.com/latest.md) · [Categories](https://forum.openzeppelin.com/categories.md) · [Tags](https://forum.openzeppelin.com/tags.md)

---

## [Tools and their Usage in Development](https://forum.openzeppelin.com/t/tools-and-their-usage-in-development/1904)

<div class="topic-metadata">

**Author:** [@manolingam](https://forum.openzeppelin.com/u/manolingam)\
**Replies:** 4\
**Last updated:** [August 10, 2025, 10:56am UTC](https://forum.openzeppelin.com/t/tools-and-their-usage-in-development/1904 "2025-08-10T10:56:14Z")

</div>

Helloooo guys :wave: In this post, I wanna connect the various tools that are used in development process for building any Ethereum application especially Dapps. This is because when I started learning blockchain develo…

---

## [ERC20 Wrapper tutorial](https://forum.openzeppelin.com/t/erc20-wrapper-tutorial/23536)

<div class="topic-metadata">

**Author:** [@JulissaDantes](https://forum.openzeppelin.com/u/JulissaDantes)\
**Replies:** 10\
**Last updated:** [December 10, 2024, 12:50am UTC](https://forum.openzeppelin.com/t/erc20-wrapper-tutorial/23536 "2024-12-10T00:50:08Z")

</div>

In this tutorial we are going learn how to create a wrapped token using the ERC20Wrapper contract provided by OpenZeppelin, but first let's get familiar with what a wrapped token is. Introduction to wrapped tokens A wr…

---

## [Problem with Bytecode from EVM Tutorial on OpenZeppelin Site](https://forum.openzeppelin.com/t/problem-with-bytecode-from-evm-tutorial-on-openzeppelin-site/21795)

<div class="topic-metadata">

**Author:** [@hilberts.hotel](https://forum.openzeppelin.com/u/hilberts.hotel)\
**Replies:** 2\
**Last updated:** [June 28, 2024, 5:06pm UTC](https://forum.openzeppelin.com/t/problem-with-bytecode-from-evm-tutorial-on-openzeppelin-site/21795 "2024-06-28T17:06:02Z")

</div>

Hello All, I'm reading through the Deconstructing a Solidity Smart Contract tutorial series by Alejandro Santander on the OpenZeppelin website. It's fantastic & super easy to follow; however, I've hit a small snag. Whi…

---

## [How to find a function's body in the bytecode of a contract?](https://forum.openzeppelin.com/t/how-to-find-a-functions-body-in-the-bytecode-of-a-contract/7380)

<div class="topic-metadata">

**Author:** [@Dyno](https://forum.openzeppelin.com/u/Dyno)\
**Replies:** 5\
**Last updated:** [September 1, 2023, 12:52pm UTC](https://forum.openzeppelin.com/t/how-to-find-a-functions-body-in-the-bytecode-of-a-contract/7380 "2023-09-01T12:52:04Z")

</div>

Hi all, I’m trying to figure out how to dynamically look-up a function’s body in the bytecode of a compiled contract. The basis of my project is a helpful tool for users and the community to use where they input a token…

---

## [Deploy a Secure NFT Contract Without Writing Code](https://forum.openzeppelin.com/t/deploy-a-secure-nft-contract-without-writing-code/26752)

<div class="topic-metadata">

**Author:** [@slw.eth](https://forum.openzeppelin.com/u/slw.eth)\
**Replies:** 0\
**Last updated:** [March 25, 2022, 4:41pm UTC](https://forum.openzeppelin.com/t/deploy-a-secure-nft-contract-without-writing-code/26752 "2022-03-25T16:41:33Z")

</div>

In this tutorial, I'll show you how you can create and deploy an NFT contract —without needing to touch a single line of Solidity code or JavaScript—using the OpenZeppelin Contracts Wizard. You'll be able to manage your …

---

## [Damn Vulnerable DeFi - Challenge #3 Walkthrough](https://forum.openzeppelin.com/t/damn-vulnerable-defi-challenge-3-walkthrough/4745)

<div class="topic-metadata">

**Author:** [@iphelix](https://forum.openzeppelin.com/u/iphelix)\
**Replies:** 2\
**Last updated:** [March 8, 2022, 5:14am UTC](https://forum.openzeppelin.com/t/damn-vulnerable-defi-challenge-3-walkthrough/4745 "2022-03-08T05:14:41Z")

</div>

Another fun challenge, this one with a real world hack example:

---

## [Test smart contracts like a rockstar](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001)

<div class="topic-metadata">

**Author:** [@obernardovieira](https://forum.openzeppelin.com/u/obernardovieira)\
**Replies:** 12\
**Last updated:** [March 7, 2022, 3:41am UTC](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001 "2022-03-07T03:41:58Z")

</div>

One does not simply test your dapp. Among many other things while developing a decentralized application, testing it is something you always need to do. What most people still don’t do is automate those tests, which lea…

---

## [How do EIP-2891 royalties work?](https://forum.openzeppelin.com/t/how-do-eip-2891-royalties-work/17177)

<div class="topic-metadata">

**Author:** [@Jalapina](https://forum.openzeppelin.com/u/Jalapina)\
**Replies:** 3\
**Last updated:** [February 9, 2022, 12:45am UTC](https://forum.openzeppelin.com/t/how-do-eip-2891-royalties-work/17177 "2022-02-09T00:45:10Z")

</div>

Hi everyone :wave:t4: I want to add secondary royalties to my smart contract for OpenSea and Rarible and also have royalties for the artist after every mint. I've been reading up on royalties implementations, specifical…

---

## [Inheriting the OZ ERC-20 token contract - I go to compile and I get a constructor visibility error](https://forum.openzeppelin.com/t/inheriting-the-oz-erc-20-token-contract-i-go-to-compile-and-i-get-a-constructor-visibility-error/20275)

<div class="topic-metadata">

**Author:** [@nslee333](https://forum.openzeppelin.com/u/nslee333)\
**Replies:** 2\
**Last updated:** [December 11, 2021, 4:47am UTC](https://forum.openzeppelin.com/t/inheriting-the-oz-erc-20-token-contract-i-go-to-compile-and-i-get-a-constructor-visibility-error/20275 "2021-12-11T04:47:16Z")

</div>

Hey There! :grinning: I'm working on a tutorial by Dapp University - (https://www.youtube.com/watch?v=xWFba\_9QYmc&list=PLS5SEs8ZftgUNcUVXtn2KXiE1Ui9B5UrY&index=2) In this tutorial we're building an decentralized bank a…

---

## [Upgradeable token contract + vesting](https://forum.openzeppelin.com/t/upgradeable-token-contract-vesting/6918)

<div class="topic-metadata">

**Author:** [@jev9](https://forum.openzeppelin.com/u/jev9)\
**Replies:** 4\
**Last updated:** [November 23, 2021, 1:28pm UTC](https://forum.openzeppelin.com/t/upgradeable-token-contract-vesting/6918 "2021-11-23T13:28:54Z")

</div>

Hi all, I want to create an upgradeable ERC20 token I would like to distribute to participants of a private sale. Some of them need to have a vesting period and I would like to use the TokenVesting contract. Does this…

---

## [How to make a bridge token between Ethereum and Binance Smart chain?](https://forum.openzeppelin.com/t/how-to-make-a-bridge-token-between-ethereum-and-binance-smart-chain/4628)

<div class="topic-metadata">

**Author:** [@Md\_Sejabur\_Rahat](https://forum.openzeppelin.com/u/Md_Sejabur_Rahat)\
**Replies:** 2\
**Last updated:** [November 18, 2020, 2:18am UTC](https://forum.openzeppelin.com/t/how-to-make-a-bridge-token-between-ethereum-and-binance-smart-chain/4628 "2020-11-18T02:18:36Z")

</div>

I have an erc20 token but now I want it on bsc also. So, How to make a bridge token on the Binance smart chain of the existing erc20 token?

---

## [Need help creating spart contract where initial nft hatches/changes into a different image](https://forum.openzeppelin.com/t/need-help-creating-spart-contract-where-initial-nft-hatches-changes-into-a-different-image/8541)

<div class="topic-metadata">

**Author:** [@delsa](https://forum.openzeppelin.com/u/delsa)\
**Replies:** 1\
**Last updated:** [August 31, 2021, 10:55pm UTC](https://forum.openzeppelin.com/t/need-help-creating-spart-contract-where-initial-nft-hatches-changes-into-a-different-image/8541 "2021-08-31T22:55:47Z")

</div>

So I want an egg hatching nft, imagine a pokemon go egg and after some time has passed, the egg hatches into a new image which will be the final image of the nft. Does anyone know of any ideas of how this can be done? i…

---

## [Cannot deploy on BSC Testnet](https://forum.openzeppelin.com/t/cannot-deploy-on-bsc-testnet/7640)

<div class="topic-metadata">

**Author:** [@aress31](https://forum.openzeppelin.com/u/aress31)\
**Replies:** 2\
**Last updated:** [August 18, 2021, 5:09am UTC](https://forum.openzeppelin.com/t/cannot-deploy-on-bsc-testnet/7640 "2021-08-18T05:09:57Z")

</div>

I am unable to deploy the following contract on the BSC TestNet using Truffle v5.3.2 (core: 5.3.2): I spent the past week trying to troubleshoot it, changing gas fees and compiler options and nothing works keep getting…

---

## ["foo function" the override section of erc20 detailed?](https://forum.openzeppelin.com/t/foo-function-the-override-section-of-erc20-detailed/8423)

<div class="topic-metadata">

**Author:** [@nmlm99](https://forum.openzeppelin.com/u/nmlm99)\
**Replies:** 0\
**Last updated:** [May 15, 2021, 7:08am UTC](https://forum.openzeppelin.com/t/foo-function-the-override-section-of-erc20-detailed/8423 "2021-05-15T07:08:17Z")

</div>

issue on the inheritance. has anyone else encountered the override error with foo fuction in contracts/tokens/erc20/erc20 detailed? I can’t fix it, can anyone explain in simple terms how i can fix this error to deploy m…

---

## [How to set the parameters of TransparentUpgradeableProxy idata](https://forum.openzeppelin.com/t/how-to-set-the-parameters-of-transparentupgradeableproxy-idata/7956)

<div class="topic-metadata">

**Author:** [@gaoyaxing24](https://forum.openzeppelin.com/u/gaoyaxing24)\
**Replies:** 1\
**Last updated:** [May 8, 2021, 7:06am UTC](https://forum.openzeppelin.com/t/how-to-set-the-parameters-of-transparentupgradeableproxy-idata/7956 "2021-05-08T07:06:29Z")

</div>

First of all, thank you for your support. Is the first time I use TransparentUpgradeableProxy. There are three parameters involved in this. Address logic (This is the contract address of the business) Address admin (I…

---

## [How to share ownership of an ERC721](https://forum.openzeppelin.com/t/how-to-share-ownership-of-an-erc721/5967)

<div class="topic-metadata">

**Author:** [@X\_Dan](https://forum.openzeppelin.com/u/X_Dan)\
**Replies:** 1\
**Last updated:** [February 24, 2021, 11:21pm UTC](https://forum.openzeppelin.com/t/how-to-share-ownership-of-an-erc721/5967 "2021-02-24T23:21:32Z")

</div>

Hello, I was looking for some pointers over some experiments that I’m doing in order to understand solidity and evm. Searching for some information over ERC721, I found an older implementation of a Shareable pattern wh…

---

## [How to develop smart contracts With OpenZeppelin?](https://forum.openzeppelin.com/t/how-to-develop-smart-contracts-with-openzeppelin/5893)

<div class="topic-metadata">

**Author:** [@ibrahimcss](https://forum.openzeppelin.com/u/ibrahimcss)\
**Replies:** 5\
**Last updated:** [February 22, 2021, 7:41am UTC](https://forum.openzeppelin.com/t/how-to-develop-smart-contracts-with-openzeppelin/5893 "2021-02-22T07:41:54Z")

</div>

Hello everyone, I want to develop a smart contract with openzeppelin and robustness but I could not find enough resources on the internet (most of them use the robustness and older version of openzeppelin), do you have …

---

## [Uniswap: transferFrom error Dai/insufficient-allowance](https://forum.openzeppelin.com/t/uniswap-transferfrom-error-dai-insufficient-allowance/4996)

<div class="topic-metadata">

**Author:** [@seanoh1989](https://forum.openzeppelin.com/u/seanoh1989)\
**Replies:** 11\
**Last updated:** [December 30, 2020, 7:44am UTC](https://forum.openzeppelin.com/t/uniswap-transferfrom-error-dai-insufficient-allowance/4996 "2020-12-30T07:44:40Z")

</div>

I am following Uniswap documentation to swap (kovan) DAI to ETH using swapExactTokensForETH. However, REMIX IDE always gives this error when I attempt to run my function. If I ignore and just send transaction, I get …

---

## [Calling a Logic Contract through a proxy](https://forum.openzeppelin.com/t/calling-a-logic-contract-through-a-proxy/5125)

<div class="topic-metadata">

**Author:** [@Etienereum](https://forum.openzeppelin.com/u/Etienereum)\
**Replies:** 3\
**Last updated:** [December 29, 2020, 8:09am UTC](https://forum.openzeppelin.com/t/calling-a-logic-contract-through-a-proxy/5125 "2020-12-29T08:09:37Z")

</div>

I have my Logic contract, MyLogic.sol, with which I am using to make a call to another logic contract, ALogic.sol but I am doing so through a proxy contract, AProxy, and all contract versions are v0.5.5. Here is a funct…

---

## [Damn Vulnerable DeFi - Setup and Challenge #1 Walkthrough](https://forum.openzeppelin.com/t/damn-vulnerable-defi-setup-and-challenge-1-walkthrough/4611)

<div class="topic-metadata">

**Author:** [@iphelix](https://forum.openzeppelin.com/u/iphelix)\
**Replies:** 1\
**Last updated:** [November 17, 2020, 12:38am UTC](https://forum.openzeppelin.com/t/damn-vulnerable-defi-setup-and-challenge-1-walkthrough/4611 "2020-11-17T00:38:28Z")

</div>

I have recently started working through the excellent Damn Vulnerable DeFi challenges and wanted to share the journey. Here are the wargame setup tips and the solution for the first challenge: I will share more solut…

---

## [Damn Vulnerable DeFi - Challenge #2 Walkthrough](https://forum.openzeppelin.com/t/damn-vulnerable-defi-challenge-2-walkthrough/4741)

<div class="topic-metadata">

**Author:** [@iphelix](https://forum.openzeppelin.com/u/iphelix)\
**Replies:** 0\
**Last updated:** [November 23, 2020, 7:35am UTC](https://forum.openzeppelin.com/t/damn-vulnerable-defi-challenge-2-walkthrough/4741 "2020-11-23T07:35:06Z")

</div>

Damn Vulnerable DeFi - Challenge #2 Walkthrough

---

## [Defender: Kovan Autotask example with Maker](https://forum.openzeppelin.com/t/defender-kovan-autotask-example-with-maker/4322)

<div class="topic-metadata">

**Author:** [@KentonPrescott](https://forum.openzeppelin.com/u/KentonPrescott)\
**Replies:** 1\
**Last updated:** [November 2, 2020, 2:41am UTC](https://forum.openzeppelin.com/t/defender-kovan-autotask-example-with-maker/4322 "2020-11-02T02:41:50Z")

</div>

I was playing around with OZ Defender (great product!), and I thought it would be nice to share another working example for the first timer. Below is an Autotask script that reads Maker’s ilkRegistry contract and pokes t…

---

## [Truffle Box Tutorial Token on Git Hub Error](https://forum.openzeppelin.com/t/truffle-box-tutorial-token-on-git-hub-error/4289)

<div class="topic-metadata">

**Author:** [@herschell](https://forum.openzeppelin.com/u/herschell)\
**Replies:** 2\
**Last updated:** [November 2, 2020, 1:31am UTC](https://forum.openzeppelin.com/t/truffle-box-tutorial-token-on-git-hub-error/4289 "2020-11-02T01:31:06Z")

</div>

:computer: Environment :memo:Details :1234: Code to reproduce The token is not linked and I can’t access it on metta mask lastly nothing happens when I transfer the token. Note that I am using windows 10 please hel…

---

## [Truffle command in Buidler version of Learn guide: "Deploying and Interacting with smart contracts"](https://forum.openzeppelin.com/t/truffle-command-in-buidler-version-of-learn-guide-deploying-and-interacting-with-smart-contracts/4276)

<div class="topic-metadata">

**Author:** [@Helper\_Bot](https://forum.openzeppelin.com/u/Helper_Bot)\
**Replies:** 5\
**Last updated:** [October 29, 2020, 5:36am UTC](https://forum.openzeppelin.com/t/truffle-command-in-buidler-version-of-learn-guide-deploying-and-interacting-with-smart-contracts/4276 "2020-10-29T05:36:02Z")

</div>

:computer: Environment Working on learning from the OpenZeppelin tutorial page: Using: (Solidity 0.6.2. Buidler 1.4.8. Node v15.0.1. Ubuntu 20.04.1 LTS.) :memo:Details Using Buidler tutorial mode (not Truffle mo…

---

## [How to deploy contract with bytecode to test](https://forum.openzeppelin.com/t/how-to-deploy-contract-with-bytecode-to-test/4162)

<div class="topic-metadata">

**Author:** [@karmataktsang](https://forum.openzeppelin.com/u/karmataktsang)\
**Replies:** 1\
**Last updated:** [October 21, 2020, 5:08am UTC](https://forum.openzeppelin.com/t/how-to-deploy-contract-with-bytecode-to-test/4162 "2020-10-21T05:08:46Z")

</div>

Hi everyone, I'm follow this tutorial to create a smart contract. I can do almost steps. But I'm only stuck at 1 step. I don't know how to deploy a contract with bytecode to test. I use Truffle (Quickstart) to deploy co…

---

## [How do upgradeable contracts work?](https://forum.openzeppelin.com/t/how-do-upgradeable-contracts-work/3919)

<div class="topic-metadata">

**Author:** [@Alex-dev](https://forum.openzeppelin.com/u/Alex-dev)\
**Replies:** 1\
**Last updated:** [September 24, 2020, 12:24am UTC](https://forum.openzeppelin.com/t/how-do-upgradeable-contracts-work/3919 "2020-09-24T00:24:54Z")

</div>

I am having trouble understanding how OpenZeppelin manages upgrades, how is data from a previous contract version able to exist with an updated version? Is there any specific in-depth guide or visualization for this? I …

---

## [Automated Tests for GSNv2 Meta Txs via OpenZeppelin Test Environment](https://forum.openzeppelin.com/t/automated-tests-for-gsnv2-meta-txs-via-openzeppelin-test-environment/3898)

<div class="topic-metadata">

**Author:** [@naszam](https://forum.openzeppelin.com/u/naszam)\
**Replies:** 2\
**Last updated:** [September 23, 2020, 4:09pm UTC](https://forum.openzeppelin.com/t/automated-tests-for-gsnv2-meta-txs-via-openzeppelin-test-environment/3898 "2020-09-23T16:09:43Z")

</div>

I’m testing Meta Transactions (OpenGSN, GSNv2), for the following contracts: Following these tutorials: I’m trying to migrate from truffle tests (first tutorial) and test via OpenZeppelin Test Enviroment. I w…

---

## [How to execute "upgrade" on proxy admin](https://forum.openzeppelin.com/t/how-to-execute-upgrade-on-proxy-admin/3849)

<div class="topic-metadata">

**Author:** [@jonericcook](https://forum.openzeppelin.com/u/jonericcook)\
**Replies:** 8\
**Last updated:** [September 17, 2020, 9:20pm UTC](https://forum.openzeppelin.com/t/how-to-execute-upgrade-on-proxy-admin/3849 "2020-09-17T21:20:02Z")

</div>

Hello, I have questions about how to manually execute the upgrade action on the ProxyAdmin contract that gets deployed when I call upgrades.deployProxy via the buidler library. I read through and followed the steps lai…

---

## [RSK Workshop: Smart contract testing with OZ CLI](https://forum.openzeppelin.com/t/rsk-workshop-smart-contract-testing-with-oz-cli/3651)

<div class="topic-metadata">

**Author:** [@bguiz](https://forum.openzeppelin.com/u/bguiz)\
**Replies:** 2\
**Last updated:** [August 31, 2020, 3:12am UTC](https://forum.openzeppelin.com/t/rsk-workshop-smart-contract-testing-with-oz-cli/3651 "2020-08-31T03:12:34Z")

</div>

:wave: all! Here's a webinar I ran on testing, with two hands-on workshops: One for general testing (in Javascript), and another for testing smart contracts using OZ CLI. Note: This is done on RSK, but it…

---

## [Upgrade your smart contract using OZ CLI](https://forum.openzeppelin.com/t/upgrade-your-smart-contract-using-oz-cli/3459)

<div class="topic-metadata">

**Author:** [@asmeedhungana](https://forum.openzeppelin.com/u/asmeedhungana)\
**Replies:** 6\
**Last updated:** [August 3, 2020, 4:41pm UTC](https://forum.openzeppelin.com/t/upgrade-your-smart-contract-using-oz-cli/3459 "2020-08-03T16:41:09Z")

</div>

Hey everyone! I published my first medium article on writing upgradeable smart contracts for starters using OZ CLI, would love to get a feedback on it as well as get corrected if I happened to make some mistakes! …

[Next page](https://forum.openzeppelin.com/tag/tutorial/3.md?match_all_tags=true&page=1&tags%5B%5D=tutorial)
