- Metamask
- Test BSCScan
- Main BSCScan
- Gas and Gas Fees
- Wei, Gwei, and Binance Converter
- Binance Gas Station
- Blockchain Demo
- Public / Private Keys
- Layer 2 and Rollups
- Decentralized Blockchain Oracles
- Block Rewards
Everything in this section can be read about in the Solidity Documentation
- Versioning
- Compiling
- Contract Declaration
- Types & Declaring Variables
uint256
,int256
,bool
,string
,address
,bytes32
- Default Initializations
- Comments
- Functions
- Deploying a Contract
- Calling a public state-changing Function
- Visibility
- Scope
- View & Pure Functions
- Structs
- Intro to Storage
- Arrays - Dynamic & Fixed sized
- Compiler Errors and Warnings
- Memory
- Mappings
- SPDX License
- Recap
- A testnet or mainnet
- Find a faucet here
- Connecting Metamask
- Interacting with Deployed Contracts
- The EVM
- Payable
- Wei/Gwei/Binance Converter
- msg.sender & msg.value
- Decentralized Oracle Network Chainlink
- Blockchains can't make API calls
- Centralized Nodes are Points of Failure
- data.chain.link
- Getting External Data with Chainlink Oracles
- Decimals/Floating Point Numbers in Solidity
- latestRoundData
- Importing from NPM in Remix
- Interfaces
- Introduction to ABIs
- Getting Price Feed Addresses
- getPrice
- Tuples
- Unused Tuple Variables
- Matching Units (WEI/GWEI/Binance)
- getConversionRate
- Matching Units (Continued)
- SafeMath & Integer Overflow
- using keyword
- Libraries
- SafeMath PSA
- Setting a Threshold
- Require
- Revert
- Withdraw Function
- Transfer
- Balance
- this
- Contract Owners
- Constructor
- ==
- Modifiers
- Resetting
- for loop
- Array Length
- Forcing a Transaction
- Recap
- Developer Bootcamp Setup Instructions (metamask, vscode, python, nodejs..)
- VSCode
- Extensions
- ShortCuts:
- Python
- Install Troubleshooting
- Terminal
- Making a directory/Folder
- Opening the folder up with VSCode
- Creating a new file
- Syntax Highlights
- Remember to save!
- Setting linting compile version
- VSCode Solidity Settings
- Formatting & Format on Save
- Solidity Prettier
- End-to-end article
- What is an NFT?
- ERC721
- ERC1155
- Token URI
- Token Metadata Example
- IPFS
- OpenZeppelin ERC721
- OpenZeppelin ERC1155
- TokenURI used for the demo: https://ipfs.io/ipfs/Qmd9MCGtdVz2miNumBHDbvj8bigSgTwnr4SbyH6DNnpWdt?filename=0-PUG.json
- IPFS Companion
- Rinkeby Deployment
- Opensea Example
- Original Video
- Smart Contracts can be upgraded!
- Does this mean they are not immutable?
- Trail of Bits on Upgradeable Smart Contracts
- The "Not Really Upgrading" / Parameterization Method
- The Social Yeet / Migration Method
- Contract Migration
- Proxies
- DelegateCall
- Terminology:
- Implementation Contract
- Proxy Contract
- User
- Admin
- Gotchas:
- Storage Clashes
- Function Selector
- Function Selector Clashes
- Proxy Patterns: