在 2 週內, 你將學習Geth,Web3,Truffle,TestRPC,MetaMask,電子錢包,Solidity 等以太坊區塊鏈技術以開發一個完整的分散式應用程式 (DAPP)。

從這 9.5 小時的課程,你會學到

  • 以太坊:電子錢包,Geth 節點,Geth 的API
  • 撰寫智能合約( smart contracts )的 Solidity 程式語言
  • 使用 HTML / CSS / Javascript 中編寫分散式應用程式的前端
  • 使用 TestRPC / Truffle / Mocha 框架進行智能合約開發
  • 智能合約設計模式
  • 學生應該能夠在課程結束時開發端到端( end to end ) 的分散式應用程式
  • Blockchain的一般概念
  • 以太坊:進一步詳細檢驗:工作原理:智能合約:共識:+

要求

  • 學生必須具有 Blockchain 技術的基本想法; 例如曾經聽過比特幣
  • 學生應該有使用過 Javascript 或是 Java 或是 NodeJS 的經驗
  • 學生必須對於學習新的程式語言,設計模式和架構典範時感到舒適
  • 知道一些 Javascript 框架是很好,但不是必須的
  • 基本了解 Javascript DOM 模型
  • 基本了解模式( patterns )

說明

附註:

  1. 如果你不熟悉程式設計,請不要加入課程
  2. 本課程從基礎開始,所以如果你是專家,你可能已經知道了幾個部分。 加入前請先預覽。
  3. 本課程不會教你 Javascript 或任何 Javascript 框架。
  4. 請在註冊前閱讀前提條件
  5. 課程的重點是以太坊,因此決定使用 HTML DOM JS API 而不是Angular / JQuery和其他JS 程式庫。

背景

隨著多家企業(和新創公司)希望透過區塊鏈技術實現效率或是建立新的商業模式,區塊鏈技術人員的需求正在上升。 以太坊是領先的區塊鏈平台,被公認為區塊鏈應用程式最成熟的平台。 以太坊技術相當複雜,但本課程“做中學”將加快學習過程,使學生了解概念變得容易。 請參閱下面的“以太坊介紹”,以了解以太坊的高階概覽。

為什麼學習區塊鏈 / 以太坊?

如果我們相信專家,區塊鏈將改變軟體商業交易的方式。 幾乎所有的行業都希望利用這項新技術來提高效率或是創造新的商業模式和機會。 公私機構正在尋找這種新技術的人才,並且面臨難以找到可以設計和開發區塊鏈應用程式的開發人員和架構師。

本課程將為你準備創新使用這種可以改變我們周邊世界的尖端技術。 它將為你準備未來。

學生應該知道什麼?

為了建構以太坊分散式應用程式,你需要學習幾種技能。 本課程可以幫助你學習這些技能,但有一些課程的先決條件:

  1. 有使用過 Javascript 或是 Java 的開發經驗。 課程不會教你 Javascript
  2. 基本了解 Javascript / HTML DOM 模型
  3. 一台可上網的 PC 或是 MAC(最少4GB需要6 GB優先)
  4. 可適應新的軟體安裝和動手編寫程式

課程進行方式?

本課程採取“做中學”的方法。 鼓勵學生在每次講座後自行嘗試各種技術。 講座中討論的幾乎所有概念都以程式碼範例等方式顯示。講座中使用的範例程式碼可從 GitHub 下載,以便學生可以更改程式碼來嘗試新事物。

分散式應用程式的前端通常使用 Javascript / HTML / CSS 來建立單一網頁或是桌面應用程式。 由於目前有多種 Javascript 框架選擇,所以決定不用任何特定的 JS 框架來進行課程。 學生可以自由使用他們選擇的任何一個或多個 JS 框架。

每個課程部分附有多個測驗以驗證學生的知識。 編寫程式練習將幫助學生更好地了解概念並獲得信心。

課程分為8個部分:

Section#1

  • 介紹區塊鏈和以太坊技術

Section#2

  • 進一步深入以太坊區塊鏈技術
  • 電子錢包等概念
  • 動手操作:安裝電子錢包,以太網採礦,交易

Section#3

  • 以太坊客戶端
  • 動手操作:安裝 Geth,嘗試 geth 命令和選項

Section#4

  • Geth Javascript 管理 API
  • 動手操作:嘗試各種 API 控制台和編寫腳本程式
  • Section#5
  • Web3 API
  • 動手操作:開發 Javascript / HTML 前端,在 TestNet 上執行智能合約

Section#6

  • 準備開始智能合約開發
  • 學習使用各種工具和框架開發智能合約
  • 動手操作:安裝:Visual Studio,Truffle,TestRPC,Meta-Mask

Section#7

  • 智能合約開發的程式語言 – Solidity
  • 學習 Solidity 語言的概念
  • 動手操作:使用 Solidity 程式碼編寫簡單的合約和使用測試案例進行測試

Section#8

  • Solidity 和基礎架構模式
  • 動手操作:編寫智能合約
  • 端到端( end to end )應用程式演練
  • 動手操作:自己動作做專案與解決方案

以太坊介紹

數位加密比特幣是第一個區塊鏈應用程式。 比特幣的成功導致了以太坊平台的創立。 而比特幣是一個“區塊鏈應用程式”,而以太坊是一個“區塊鏈平台”。 以太坊不僅支援分散式分類帳本,而且還支援智能合約。

智能合約是具有執行兩個或多方之間的合同協議(規則)的電腦程式碼。 在智能合約中編碼的驅動規則由實體世界中的事件觸發,並自動執行一些預先定義的動作。 所有這些動作都不需要任何中間人,Web 伺服器或後端資料庫。

讓我舉個範例 – Ebay 是買方和賣方之間的中間人。 每當買方從賣家處購買物品時,EBay 都會賺取服務費用。 在分散投標申請中,智能合約可以取代 EBay 中間人角色。 合約中規定的規則將是當買方支付時,賣方將貨物運送給買方。 這筆資金將在智能合約中進行,直到買方確認收到貨物為止。 一旦買方確認收到貨物,資金將被釋放給賣方。 智能合約在以太坊網路節點上執行,而不是由中間人(例如,Ebay)擁有的集中式伺服器基礎架構。 節點是以太坊客戶端程式在網路參與者的電腦上運行。

任何人都可以寫出以太坊分散式應用程式,所以換句話說,你可以在公共以太坊網路上創造像加密貨幣或是像 Ebay 一樣的應用程式。 請注意,所有的應用並不一定是區塊鏈技術的好選擇,例如在區塊鏈技術上建構靜態網站不是正確使用該技術的方式。

目標受眾

  • 有興趣學習以太坊區塊鏈的技術專家
  • 想將其技能擴展到區塊鏈技術的架構師
  • 通過編寫程式來學習區塊鏈的開發人員
  • 好奇地學習了區塊鏈技術是如何改變我們的商務方式的實驗者
  • 有興趣在區塊鏈上實現自己的經營理念且具有技術背景的企業家

講師介紹

Rajeev Sakhuja IT 顧問,IBM Cloud Champion 2017

我是一位在財富 500 強公司從事大規模應用開發,基礎設施管理和策略開發等方面經驗豐富的資訊技術顧問。 擁有超過 20 年的 IT 業界經驗。 喜歡學習和教授新技術的熱心技術專家。 目前協助大公司製定雲端戰略和做法。

很高興地宣布,最近 IBM 已經認證我是 “IBM Cloud Champion for 2016-2017”。 感謝所有學生不斷的支持和鼓勵。


課程網址  ♥找優惠折扣碼?

Sponsored by Udemy

你可能會有興趣

喜歡我們的分享嗎?使用以下的社群分享按鈕分享給你的朋友吧!

發表迴響

Category

01-onlinecourse

Tags

,