# The Code

## Overview

The code of a smart contract is made up of many parts.  A quick overview of the main food groups of a smart contract:

* Imports - Where other contracts are imported into the code.
* Errors - Where you declare the different error names
* Variables - Where you define all the necessary pieces of information that makes your smart contract work
* Events - Where you declare new events, which are things that leave a log when something happens.
* Functions - Where all the main code and functionality is.  This is where the imports, errors, variables, and events are used.

## Functions

The biggest part of the code are all the functions.  The functions are each a piece of code that does one specific thing.  Each of the functions put together makes up the functionality of the smart contract. &#x20;

## Version History

#### Current

The version 2 of the ERC721J contract was deployed inside version 1 of The Contract Wizard on Feb 5, 2023 at [this tx here](https://etherscan.io/tx/0x54ea2b85f9a7043972ad5e68c4a8891ffd0d5736d5c94827ef9da1551dd34f27). The Contract Wizard's address [0x1b9F04589183341Ad9b8Cd771983CEBeB0c1BC23](https://etherscan.io/address/0x1b9F04589183341Ad9b8Cd771983CEBeB0c1BC23). &#x20;

The first 721J v2 contract made from The Contract Wizard is the address [0x8c3a5bb9c950b7E31993f4FF3f69De349981851B](https://etherscan.io/address/0x8c3a5bb9c950b7E31993f4FF3f69De349981851B).&#x20;

#### Past

The version 1 of the ERC721J contract was deployed Feb 17, 2022 at [this tx here](https://etherscan.io/tx/0x12bb1a0f1ae2b298698ba11d2c655e27a2550de5d33989755e48bbc8fd02fa36). To the address [0x24571c6DB7919a4AfB8A2953a4f5287d16fE496E](https://etherscan.io/address/0x24571c6DB7919a4AfB8A2953a4f5287d16fE496E).
