# Smart Contracts

**SecureChain** supports **Solidity** based smart contracts. **Smart contracts** are self-executing computer programs that are built on top of blockchain. They operate based on a set of predetermined rules and conditions encoded into their software, which are automatically enforced when specific conditions are met.

## New to Solidity?

Solidity is a high-level programming language that is used to write smart contracts on the SecureChain blockchain. This language is used in other EVM based blokchains as well. It is a contract-oriented language that is designed to be easy to learn and understand for developers.&#x20;

Here are some great resources for learning Solidity:

* The [official Solidity docs](https://docs.soliditylang.org/)
* Solidity [tutorial](https://www.tutorialspoint.com/solidity/index.htm) for programmers

## Smart Contracts in SecureChain vs Ethereum

> SecureChain is EVM compatible blockchain as hence supports all the tools like Remix, truffle, hardhat, etc.&#x20;

SecureChain supports all the solidity based smart contracts as Ethereum or any other EVM blockchains.&#x20;

## Remix

[Remix IDE](https://remix.ethereum.org/) is an open source web and desktop application. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. Remix is used for the entire journey of contract development as well as being a playground for learning and teaching contract development.

<figure><img src="https://docs.dithereum.org/images/remix1.jpg" alt=""><figcaption></figcaption></figure>

Create new file in file explorer. Edit contract info at right side.

<figure><img src="https://docs.dithereum.org/images/remix2.jpg" alt=""><figcaption></figcaption></figure>

**Compile contract**

1. Click compiler button, switch UI
2. Select contract you want to compile
3. Set compile flags
4. Click compile button

<figure><img src="https://docs.dithereum.org/images/remix3.jpg" alt=""><figcaption></figcaption></figure>

**Deploy contract to blockchain via wallet such as `MetaMask`.**

1. Set network info in `Metamask`.
2. Back to `Remix`.
   * Switch environment
   * Select contract
   * click deploy button

<figure><img src="https://docs.dithereum.org/images/remix4.jpg" alt=""><figcaption></figcaption></figure>

The contract can be deployed on the chain through MetaMask.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.securechain.ai/developer-guide/smart-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
