# 👩🏻💻 Z 學院直播:撰寫客製化 DeFi 合約,不同功能類型與經典 DeFi 智能合約分析  ## 🌟 直播動機 - 懂智能合約語法很簡單,但離真正做出 DeFi 項目還差一大截 - 有許多非單純語法上的先備知識與可能遇到的坑 ## 🌟 DeFi 應用的種類 / 相關名詞 1. 兌換 Swap(Uniswap) 2. 交易 Trade (開合約做多做空,就像中心化交易所,如 dydx) 4. 質押 Staking(Yearn) 5. 借貸 Lending and Borrowing(AAVE) 6. governance token(許多都有) ## 🌟 撰寫客製化 DeFi 合約的背景知識 1. 不同 token 之間會有精度(decimal)的不同,如 USDT 與 USDC decimal 是 6 不是 18 2. 若短時間大量呼叫 api 查詢區塊鏈資料,可能會超過 rate limit,需要使用 [The Graph](https://thegraph.com/) 或是自己做簡易 load balancing(如用 Redux) 3. 要拿取代幣價格時,需要從 [Chainlink Price Oracle](https://data.chain.link/) 查詢([不同代幣價格智能合約地址總覽](https://docs.chain.link/data-feeds/price-feeds/addresses)),且要注意回傳數字的精度(如第一點),必要時要做匯率轉換(例如只有對應 ETH 的價格,但我們需要對應 USDC 的價格時) 4. 最好可以在撰寫合約之前,先用一個 simulation sheet 把相關參數模擬出來,例如 x / 10^18 * y / 10^6 < x * y / 10^18 / 10^6 5. 跟其他 DeFi 協議互動時要用他們自己出的 library 6. 可以放上 Mainnet fork 測試,但也要注意在 fork 網路環境下區塊要手動 mine(手動挖礦),會影響到許多 DeFi protocol,讓他們在測試環境下不會有 yield 收益,另外需要善用 impersonate account 與 Tenderly 工具 ## 🌟 即將截止報名課程介紹 - [區塊鏈 / 元宇宙工程師開發班](https://courses.zinstitute.net/courses/blockchaindev) - 今天限定 888 課程折扣碼:https://courses.zinstitute.net/courses/blockchaindev?coupon=ZBSOL888
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up