# Development
# Topics
# Solidity Design Pattern
# Library Driven Development in Solidity
# DelegateProxy Contracts
# Contract Registry
- https://etherscan.io/address/0xe0569fd1c3f0affd7e08131a16c06f3381c9355a#code (opens new window)
- quickConvertPrioritized()
# Interfaces & Abstract Contracts
# Upgradeability with transparent proxy pattern
- The transparent proxy pattern (opens new window)
- Upgradeability using Unstructured Storage (opens new window)
- EIP 1967: Standard Proxy Storage Slots (opens new window)
- EIP 1822: Universal Upgradeable Proxy Standard (UUPS) (opens new window)
- OpenZeppelin SDK Upgrades Pattern (opens new window)
# Token type
# ERC721 Stats
# ERC20 Compatible
- ERC223 (tokenFallback) https://github.com/Dexaran/ERC223-token-standard (opens new window)
- ERC827 (transferAndCall) https://github.com/ethereum/EIPs/issues/827 (opens new window)
# ERCxx Comparison
Cheap Bulk Transfers | Multiple Classes of NFT/FT | Works as Collectible | Wallet/Marketplace Compatibility | |
---|---|---|---|---|
ERC721 | No | No | No | Yes |
ERC20 | Yes | No | No | Yes |
ERC1155 | Yes | Yes | Yes | No |
ERC1178 | Yes | Yes | No | No |
# Learn solidity
- Loom netowrk launched CryptoZombies (opens new window), a live app enabling anyone to learn to code smart contracts on Ethereum (with over 200,000 students)
# Yellow Paper
ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER BYZANTIUM (opens new window)
# Ethereum Virtual Machine Opcodes
# Gas cost - EVM instructions
- Gas Costs from Yellow Paper -- EIP-150 Revision (opens new window)
- Gas defined in go-ethereum (opens new window)
# Transaction data gas usage
- 21,000 upfront.
- 4 for every zero byte.
- 68 for every non-zero byte.
# Ethereum Alarm Clock
SCHEDULING OF TRANSACTIONS FOR DELAYED EXECUTION IN THE FUTURE.
# Plasma
The basic idea here is that we can take assets from one chain and transfer them to another (called the “sidechain”) by locking the assets up on the primary chain (or “root chain”) and “creating” them again on the sidechain. When you want to go back, you simply need to “destroy” the asset on the sidechain and unlock them on the root chain
ref: Learn Plasma (opens new window)
# Original Plasma: Scalable Autonomous Smart Contracts
# Loom network - Plasma Cash
# Learn
# ZKSNARKs Plasma
- ZKSNARKs Plasma (opens new window)
- Introducing Ignis: Fire Plasma (opens new window)
- Github (opens new window)
- Scale ethereum with snarks (opens new window)
- Test net (opens new window)
# ABI-Encoded tools
- https://abi.hashex.org/#
# Web Services
# Infura
# Thai Chain
- Http https://rpc.tch.in.th (opens new window)
- Websocket wss://ws.tch.in.th
- Explorer https://exp.tch.in.th/ (opens new window)
# Library
# OpenZeppelin
- OpenZeppelin Contracts is a library for secure smart contract development. https://github.com/OpenZeppelin/openzeppelin-contracts (opens new window)
# Decimals
- Fixidity: A fixed point mathematics library for Solidity. https://github.com/CementDAO/Fixidity (opens new window)
# Ethereum Explorer
- Etherscan (opens new window)
- Bloxy (opens new window) (Event profiling)
- Ethplorer (opens new window)
- Etherchain (opens new window)
- Blockscout (opens new window)
- Ethtective (opens new window)
- Palkeo (opens new window)
- Blockchair (opens new window)
- Ethtx (opens new window) (Gas profiling)