43 lines
1.6 KiB
Markdown
43 lines
1.6 KiB
Markdown
# Solidity workshops
|
|
|
|
Lesson 0. Introduction to blockchain concepts (what is what, consensus, transactions, wallets, nodes, web3)
|
|
|
|
Lesson 1. First chapter of CryptoZombies (math, structs, functions, visibility, msg.sender, SafuDot)
|
|
|
|
Lesson 2. Using git (git.hsbp.org, git command, init, add, commit, pull, push, using git issues)
|
|
|
|
Lesson 3. Second chapter of CryptoZombies (return, mappings, require, inheritance, import, interfaces, multi return, keccak if str
|
|
|
|
Lesson 4. Voting in solidity
|
|
|
|
Lesson 5. Code review and due diligence
|
|
|
|
Lesson 6. Summary of previous lessons and security review
|
|
|
|
Smart contract to decide what project to create (NFT/DAO/Token): [here](https://ropsten.etherscan.io/address/0xea5473fc3abfdee045b134c4b440d5ffcb67ffa9).
|
|
|
|
|
|
## Notes
|
|
|
|
Return-ok if utan, megbeszelni: if utani return es revert.
|
|
https://git.hsbp.org/flamboush/Balazs_Homework_1/src/branch/master/product_reviews_contract.sol
|
|
|
|
mapping(_KeyType => _ValueType) public mappingName
|
|
mapping(address => uint) public playerLevel;
|
|
! mapping can be inside struct
|
|
! nested mappings
|
|
mapping(uint => mapping(uint => uint)) mymap;
|
|
mymap [1][1] = 42;
|
|
|
|
## Homework 1
|
|
|
|
- Create multiple an external function that returns two uint256s based on user input (true or fale).
|
|
- Call function of adminChange() of SafuDot from a smart contract
|
|
- Create a new repository on git.hsbp.org with the name "Homework 2 - <your_name>" and add your homework to it.
|
|
- Remember to create a README.md and LICENSE to your git repository!
|
|
|
|
## Homework 2
|
|
|
|
- Deploy your own voting contract
|
|
- Vote on the already deployed contract
|
|
- Plus: consider privacy |