Skip to content

Commit

Permalink
add initial guideline
Browse files Browse the repository at this point in the history
  • Loading branch information
nghuyenthevinh2000 committed Jun 13, 2022
0 parents commit 7a15e3d
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 0 deletions.
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: ❓ Question ❓
description: question related to CosmWasm course
assignees:
- nghuyenthevinh2000
title: "Question: [Question title]"
labels: ["question"]
body:
- type: markdown
attributes:
value: |
This question form helps:
1. people on asking question correctly to format for easier categorization
2. answerer can quickly identify which category they may know
- type: checkboxes
attributes:
label: Question tags for categorization
options:
- label: CLI
- label: CosmWasm
- label: CosmWasm JS
- label: Windows Environment
- label: Ubuntu Environment
- label: MacOS Environment
- type: textarea
attributes:
label: Description of bugs
value: |
# Problem description
* What is the error?
* What have you done?
# Picture
* picture of the error
# Additional information that may help in debugging
validations:
required: true
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# CW BABY
cw-baby is the open source tutorial on writing CosmWasm smart contract. It focuses on:
1. 5 mins tutorial videos that can help people learn more easily and efficiently than a long - ass 45 mins video
* [CosmWasm guideline](specs/cosmwasm-guideline.md)
2. a hands - on coding homework with github workflow to check all the time without relying on instructors
* [Homework](specs/homework-specs.md)

# Contributors
48 changes: 48 additions & 0 deletions specs/cosmwasm-guideline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
## I. Chapter 1: Write and upload a NFT contract (13 weeks to complete)
* Purpose: write a NFT contract and upload that contract to a local testnet with smart contract capability

1. __Group 1__: Setup a Smart Contract project with CosmWasm
* Lesson 1: Generating a CosmWasm project
* Lesson 2: Introduction to CosmWasm project file structure
* Lesson 3: Introduction to NFT's implementation idea and CW-721

2. __Group 2__: Entry point (lib.rs || contract.rs)
* Lesson 4: Introduction to contract entry_point and overall flow
* Lesson 5: instantiate, execute, query entry_point
* Lesson 6: Entry point variable (DepsMut, Deps, Env)
* Lesson 7: Entry point variable (MessageInfo, Msg)

2. __Group 3__: State (To save state of contract to database) (state.rs)
* Lesson 8: Introduction to data Structure of State
* Lesson 9: Introduction to cosmwasm_std::Storage
* Lesson 10: Introduction to cw_storage_plus storage format
* Lesson 11: Saving State to cosmwasm_std::Storage (cw_storage_plus::Item<'a, u64>)

3. __Group 4__: Msg
* Lesson 12: Introduction to Msg
* Lesson 13: Msg schema generation
* Lesson 14: Introduction to InstantiateMsg
* Lesson 15: Introduction to ExecuteMsg
* Lesson 16: Introduction to QueryMsg

4. __Group 5__: Execute
* Lesson 17: Writing implementation for "instantiate"
* Lesson 18: Writing implementation for "transfer" NFT
* Lesson 19: Writing implementation for "mint" NFT

5. __Group 6__: Query
* Lesson 20: Writing implementation for "owner_of"
* Lesson 21: Writing implementation for "nft_info"

6. __Group 7__: Contract error
* Lesson 22: Introduction to contract error

7. __Group 8__: Contract testing
* Lesson 23: Setup contract for testing
* Lesson 24: Test instantiation of contract
* Lesson 25: Test minting of contract

8. __Group 9__: Instantiating contract on local testnet of Juno
* Lesson 26: Store and instantiate contract on testnet

## II. Chapter 2: Interact with NFT contract (CLI and cosmJS)
Empty file added specs/homework-specs.md
Empty file.

0 comments on commit 7a15e3d

Please sign in to comment.