---
# System prepended metadata

title: Smart Contracts

---

# Smart Contracts
there are mainly two contracts I am looking to build this off of. The first is [this](https://etherscan.io/address/0xe106c63e655df0e300b78336af587f300cff9e76#code) one based off of the OxyOriginProject.

It's a super clean contract, has a lot of nice features, it doesn't use enumerable so it's gonna be lower gas but still have all the benefits of id management.

Primary features:
- non-enumerable (saves a ton of gas)
- single file contract (OG status)
- merkle logic is clean
- multiple gift mints
- easily flexible

### What's Left to do?
- Create a custom daoMint() function that allows us to mint directily into ONLY the dao
- Create a daoMax() function that limits the number of dao mints.

### The other contract


# Considerations moving forward


### Hardhat or Remix?
this is an important querstion that we have to figure out. I don't like being the only person in control of the keys, I also don't like being the person who doesn't have access to fix things if you're unavailable.

We will both have to learn hardhat or remix, remix is an online service provided by the ethereum organization. We should schedule a one or two hour session where I walk you through it. 

### Hardhat is better. By far...
Hardhat is the right way to compile large contract code and test things. The learning curve is much steeper. End the end I will probably deploy with this method. But... so long as you have a set of keys and the ABI (We will verify it), remix will be a viable way to interact
