> For the complete documentation index, see [llms.txt](https://circular-protocol.gitbook.io/circular-developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://circular-protocol.gitbook.io/circular-developer-docs/your-first-dapp-on-circular/introduction-to-hyper-code-ide/smart-contract-project-files.md).

# Smart Contract Project Files

On Circular Protocol, there are two types of smart contracts: Basic Smart Contracts (interpreted) and Hyper Contracts (compiled into bytecode). While many focus on functionality over performance, Circular aims to support more advanced DApps with a new architecture. This tutorial will guide you through developing a Basic Smart Contract, which is still faster than those on other blockchains. When starting a project, you’ll find key files in the Project Explorer.

## Key Files for Your Smart Contract Project

<table><thead><tr><th width="198">File</th><th>Description</th></tr></thead><tbody><tr><td><strong>Settings.json</strong></td><td>Input all essential contract info here. Your first task is to complete the required fields.</td></tr><tr><td><strong>Definitions.hc</strong></td><td>Holds common functions and classes used across contracts. No major changes needed—just learn how to use it.</td></tr><tr><td><strong>Init.hc</strong></td><td>Initializes global variables. Minimal changes unless you have specific requirements.</td></tr><tr><td><strong>Contract.hc</strong></td><td>The core of your smart contract. This file defines the contract’s properties and methods.</td></tr><tr><td><strong>Test.hc</strong></td><td>Used for testing and simulating transactions during debugging.</td></tr><tr><td><strong>Output.hc</strong></td><td>Prints contract output for debugging and single-node calls.</td></tr><tr><td><strong>ReadMe.txt:</strong></td><td>Add instructions and notes for other developers once the contract is complete.</td></tr><tr><td><strong>License.txt</strong></td><td>Contains the license for your contract, which is open-source by default</td></tr></tbody></table>

These files streamline the development process, and you can add extra libraries from the “Resources > Libraries” section as needed. This approach simplifies setup, making contract creation efficient on the Circular Protocol.
