Solidity 語法基礎:零基礎學習以太坊開發

Barry Z
The Z Institute
Published in
9 min readMay 18, 2022

區塊鏈技術正如火如荼地於各領域發展,從金融、供應鏈管理甚至遊戲,應用範圍逐漸深入日常。用戶之所以能夠在沒有第三方機構介入的情況下,在各種去中心化平台上進行操作,正是因為這些 DApps 背後的程式規範,也就是由智能合約(Smart Contract)。藉由智能合約,使用者能夠隨時在區塊鏈上進行交易、轉帳、記帳、儲存資料。因此,智能合約可以說是區塊鏈運行的關鍵!

Solidity ,是在以太坊 (Ethereum) 上撰寫智能合約所使用的程式語言,也是最主流的智能合約程式語言。
本課程是專為沒有程式語言基礎的學員設計的初階課程,從零開始練功,透過概念學習與課程實作,一步一步完成自己的第一份智能合約!

產業規模急速成長,享受領域拓荒紅利

區塊鏈被廣泛採用於基礎建設當中,已經是現在進行式,無論是虛擬貨幣支付、身份驗證、金融交易、借貸抵押、教育認證、供應鏈物流等領域,都需要區塊鏈技術的支持。未來,對於區塊鏈的技術需求將會深入人類生活的所有大小面向,無數的開發需求將會創造等量的工作機會。

區塊鏈是個人才競爭小、技術概念新的領域,也是這個世代真正等待開拓的新藍海。

市場人才超級稀缺,起薪高於同業市場平均

目前,大眾對於區塊鏈的認知還處於懞懂的階段,擁有相關背景知識,甚至商業開發技能的人少之又少。區塊鏈因底層技術更新速度極快,又缺乏相對完整的教育培訓系統,市場上的區塊鏈工程師大多都是自學能力極強,並且能夠時刻更新自己對產業的認知以及技能的人。

近幾年,各國政府與企業公司紛紛成立區塊鏈部門,市場對於相關人才的需求量爆增,其中又以亞太地區為甚。無論是進入公司體系,或者以自由接案的方式跟項目方合作開發,因為領域陌生與高學習門檻導致的人才稀缺性,讓區塊鏈工程師跟其他軟體工程師相較,收入普遍高於同類市場。

  • 沒有程式背景,但想學習智能合約的人
  • 投資 DeFi、NFT、GameFi,希望能看懂智能合約的人
  • 想要更深入了解區塊鏈技術的人

▍一門語言,多鏈開發

Solidity 是以太坊上專門用於撰寫智能合約的程式語言。由於以太坊目前仍然是區塊鏈上用戶採用率最高的公鏈,因此 Solidity 也可以說是目前最主流的智能合約開發語言,區塊鏈上大部分的龍頭項目,如 Uniswap、Aave、Curve 也多是以 Solidity 撰寫而成。

▍Solidity 的特點

・高階語言:程式語言可概分為高階語言和低階語言。高階語言的表述方式比較接近人類語言,對程式新手也相對友善。

・普及性高:前十大市值的鏈有七成都能兼容以太坊 EVM (虛擬機)。只要學會 Solidity,開發者就能夠在以太坊及其兼容公、側鏈如 Polygon、Avalanche、BSC 上部署智能合約。

・低開發門檻:以太坊官方提供了線上的開發與學習環境 Remix,不需額外安裝,使用瀏覽器即可開始撰寫智能合約。

本課程預計 200 分鐘,分為三大章節,由淺入深地從以太坊概論開始講起,進一步介紹開發環境、主網與測試網、基礎語法與熱錢包的使用方式,並深入拆解進階語法與常見的智能合約形式。

最終,你將能獨立部署你的第一個智能合約,並用輔助工具驗證合約是否能夠正常運行!

Chapter 0 課前準備

  • 課堂概覽-課堂模組簡介與作業

Chapter 1 認識 Solidity

  • 以太坊與 Solidity 的關係
  • Solidity 的重要性
  • Solidity 應用:知名 DApp 介紹
  • 作業

Chapter 2 Solidity 開發基礎

  • 線上開發工具介紹:Remix IDE
  • 從簡易 Solidity 範例看智能合約的優點、限制與迷思
  • Solidity 拆解概覽 與任何智能合約互動必備的元素
  • 區塊鏈錢包: Metamask 介紹
  • 測試智能合約:主網與測試網的差別
  • 部署第一個智能合約!
  • 驗證並查看智能合約:Etherscan 簡介
  • 作業

Chapter 3 Solidity 進階實作

  • Solidity 範例解析
  • 常見的智能合約協議:ERC介紹(ERC-20、ERC-721A、ERC-1155、ERC-721R)
  • 實作:發行自己的代幣:實作ERC-20 與協議
  • 實作:發行自己的 NFT:實作 ERC-721A 與協議
  • 作業

Chapter 4 課程總結與下一步

  • 課堂總結
  • 更多學習資源
  • 作業

加碼單元(人數達標)

  • 300人:ERC721R 與 ERC1155 發行教學
  • 500人:Vyper 簡易 Hello world 教學
  • 1000人:使用 hardhat 框架編譯與簡易測試合約
  • 5/3 ~5/22 早鳥優惠
  • 5/23 課程第一章節釋出
  • 5/30 課程第二章節釋出
  • 6/6 課程第三章節(上)釋出
  • 6/13 課程第三章節(下)釋出

The Z Institute 旨在成為一所產學合一的 Web 3 元宇宙大學。我們自 2017 年開始提供區塊鏈顧問、企業內訓、專案開發、智能合約審計、國際資源媒合對接等服務。同時開設區塊鏈線上課程和培訓工坊,致力使未來科技廣為傳播且發揚光大,並解決區塊鏈最前線的人才需求。

學院至今已經訓練超過 2,000 名來自各個專業領域學員,從技術教育到職業媒合,成功輔導多位 Web 2 的人才轉職國內外 Web 3 產業。我們堅信人才的培訓是產業的基礎,目標是將台灣的人才推向世界舞台,加速帶動台灣區塊鏈的發展。

我們透過模組化一系列的線上課程,將各種區塊鏈主題分散為小單元的預錄課程,讓各種程度背景的學員都能根據自己的需求和時間自由選配,輕鬆學習!

軟、硬體設備需能安裝/執行: Metamask、Remix IDE

  • 打造並部屬以太坊智能合約
  • 分析項目時,能看懂智能合約
  • 了解智能合約常見功能
  • 學會使用 Etherscan
  • 智能合約完整解析

從學生時期開始自學程式語言,在 19 歲時發現了自己對區塊鏈和分佈式共識的熱情,辭去了在微軟的數據和人工智能顧問工作,投身區塊鏈產業。擁有豐富的接案與合作經驗,專業領域橫跨多鏈的開與審計,經手 TVL 超過 1B 的項目。

過去為私募基金 Evernew Capital 的研究顧問, 2018 年聯合創辦並擔任圖靈鏈和 TuringCerts 的技術長,後至加州柏克萊大學區塊鏈實驗室 Berkeley Blockchain Xcelerator 擔任特邀學者和技術導師。 先後在 Microsoft、Chainlink、Certik、Status.im 和 Stacks 基金會工作,並成為 JP Morgan, Deloitt, HTC, Acer, KPMG, 中華電信等知名企業之特聘內訓講師,發表過三篇區塊鏈論文於權威論壇 ACM 與 IEEE ,並在德國慕尼黑 MobiSys 獲頒全球最佳論文。

現為 The Z Institue 創辦人,與團隊積極開班培訓區塊鏈產業人才,盼能將台灣的人才輸出至全世界。

購買課程的常見問題

  • 去哪裡購買呢?
    歡迎來我們的"課程平台"購買歐
  • 有哪些繳費方式?
    線上課支援的付款方式有信用卡支付、ATM 轉帳、超商代碼付款以及銀聯卡,亦可使用google表單選擇使用 USDC付款,享受更多的組合優惠。
  • 如何使用優惠代碼?
    點擊「立即購買」後即可進入付款頁面,在付款頁面中可找到「優惠代碼」欄位,將您收到的優惠代碼填入欄位或直接貼上,點擊「套用」,折扣就會生效囉!
  • 優惠代碼無法使用怎麼辦?
    可能是優惠代碼輸入錯誤,建議將優惠代碼複製起來,善用DC(Discord)私訊客服人員,以利及時處理您的相關問題。
  • 如何確定付款成功呢?
    付款成功後系統會寄出購買成功的通知mail,可以到註冊會員或付款時填寫的信箱裡查找。如果沒有收到 Email,可能是被歸類到促銷信匣或廣告信匣,再請注意一下囉!
  • 可以開立統編發票嗎?
    需使用點擊「立即購買」方式,請在發票選項選擇「統編發票」,並輸入統一編號與公司抬頭,購買成功後系統將自動寄出含有統編的電子發票至你填寫的信箱。
  • 可以申請手開三聯式發票嗎?
    不好意思,目前只能支援電子發票喔!
  • 購買後何時可以收到發票?
    付款完成後,系統將立刻寄出電子發票至你填寫的信箱,通常不會超過 5 分鐘,再麻煩你到當初註冊或付款時填寫的信箱中收信。
  • 可以退費嗎?
    a. 7 日內且未觀看正式付費單元(除試看單元)→ 可退還 100% 全額課程費用
    b. 8–14 日內且未觀看正式付費單元(除試看單元)→ 可退還 30% 課程費用
    c. 超過 15 日(含)申請 → 恕不退費
  • 購買後何時可以開始使用?
    立刻!馬上!

課程內容的常見問題

  • 購買課程後有與講師同學交流的地方嗎?
    我們有 Discord 學員社群,除了有講師、助教的協助外,更可以促進學員們的切磋交流。
  • 上這門課前我需要具備什麼?
    積極發問的態度、以及保留給學習的時間。
  • 我沒有區塊鏈基礎還適合報名這門課嗎?
    別擔心,我們的線上課程是專門為全新手設計。
  • 線上課程可以觀看多久?
    別懷疑,我們是去中心化的社群經營模式,課程可以讓你一直持續觀看與使用。(除非真的有一天社群消失了XD)

如果看完 FAQ 無法解決你的問題

  • 怎樣可以有效快速解決您的問題…
    歡迎使用Z學院的 Discord 社群,這是一個去中心化的經營機制,讓您的問題不會石沉大海而且有效快速解決,所有的過往紀錄與學長姊留下的資訊都很值得您好好探索。

--

--