> For the complete documentation index, see [llms.txt](https://cll-devrel.gitbook.io/bootcamp-2024/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cll-devrel.gitbook.io/bootcamp-2024/2.-smart-contract-and-solidity-fundamentals/verify-source-code-on-etherscan.md).

# Verify source code on Etherscan

Now that we have navigated to out contract address in Etherscan we will be able to verify that the functions that exist in the contract are the ones we are expecting to be there.

<figure><img src="/files/zOkBcomVQ8kk2txmAFJP" alt=""><figcaption><p>Example Register Etherscan Display</p></figcaption></figure>

To do this, first select the tab labeled **Contract**

<figure><img src="/files/El2ewLTssR99NSJQlzz0" alt=""><figcaption><p>Example Contract Display on Etherscan</p></figcaption></figure>

We can see three "views" -  the bytecode (the machine-readable version of our Solidity contract!), opcodes view and the similar contracts view. Since we have access to the original source code for this Register contract, we can **Verify and Publish** the code that we have associated with the contract address.

<figure><img src="/files/dyegcURrPctfAmju6guv" alt=""><figcaption><p>Verify and Publish Display</p></figcaption></figure>

We will need to complete the forms information in our case, we will select

* Solidity (Single File): since our file is a simple single file contract
* Compiler v0.8.19+commit.hash: this was defined in our pragma portion of the Solidity code (the second line in our Register.sol file)
* License Type: MIT as defined in our code also (In production, you will need to research and select the License that best fits your organizations needs).

On the next screen we will paste the human-readable Solidity Code into the **Enter the Solidity Contract Code Below**.&#x20;

<figure><img src="/files/DPig7btUJq2X8vNzxHEZ" alt=""><figcaption><p>Example Register.sol upload contract source code</p></figcaption></figure>

Complete by selecting the captcha at the bottom and submit using **Verify and Publish**. Upon Successful Completion you will receive the following screen:<br>

<figure><img src="/files/5zk1scHM4PZXrNuY00c7" alt=""><figcaption><p>Example Successful Confirmation</p></figcaption></figure>

While this is easy for you to do with your own code, you can also use this function to verify that other contract addresses have the smart contract code that is claimed to be there (provided you have the original Solidity code for that contract!).&#x20;

Now you are ready to start interacting with Web3 at large!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://cll-devrel.gitbook.io/bootcamp-2024/2.-smart-contract-and-solidity-fundamentals/verify-source-code-on-etherscan.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
