> For the complete documentation index, see [llms.txt](https://quezar.gitbook.io/mina101/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://quezar.gitbook.io/mina101/part-4-deploy-a-hello-world-smart-contract-on-mina/outline.md).

# Outline

## SnarkyJS (elementary concepts)

* Overview of SnarkyJS / O1js
* Basic concepts

  * Fields
  * Handling accounts & Public private keys
  * Assertions
  * Smart Contract
  * @method decorator
  * State
  * @state
  * Posseidon function

## Brief explanation of a zkApp architecture in the context of a hello world smart contract

* examples covered
  * Square
  * Square with private input
* explain the program flow
  * tie in how prover and verifier functions work here
  * tie in how the above basic o1js concepts fit into the application

## Setting up the dev environment

* zkcli
  * installation
  * project setup
  * project structure explaination

##

## Coding a hello world smart contract

* Writing the smart contracts
* Walkthrough of smart contracts

## Deploying it on testnet

* wallet setup
* getting testnet tokens from the faucet
* deploy the contracts on testnet

## Interacting with it

* run smart contracts to demonstrate each functionality
