# Smart Contract Guide

{% hint style="info" %}
This guide is based on the [OpenZeppelin's Official Smart Contact Guide](https://docs.openzeppelin.com/learn/)
{% endhint %}

#### In this guide we will go through the following:

1. [Setting up a Node project](https://docs.openzeppelin.com/learn/setting-up-a-node-project)
2. [Developing smart contracts](https://docs.openzeppelin.com/learn/developing-smart-contracts)
3. [Deploying and interacting](https://docs.openzeppelin.com/learn/deploying-and-interacting)
4. [Writing automated tests](https://docs.openzeppelin.com/learn/writing-automated-tests)
5. [Connecting to public test networks](https://docs.openzeppelin.com/learn/connecting-to-public-test-networks)
6. [Upgrading smart contracts](https://docs.openzeppelin.com/learn/upgrading-smart-contracts)
7. [Preparing for mainnet](https://docs.openzeppelin.com/learn/preparing-for-mainnet)
