Ethereum 智能合約實戰技巧 從零到壹 陳耀鑫 工研院資通所 2017/5/18.

Slides:



Advertisements
Similar presentations
第一章 餐饮服务程序 学习目的: 掌握餐饮服务四个基本环节的内容 正确表述和运用各种餐饮形式的服务程序 熟悉并利用所学知识灵活机动地为不同需求的 客人提供服务.
Advertisements

 葉菜類:含多量維生素、礦物質、纖維多 例如小白菜、青江菜、空心菜  黑甜菜是生命力極強的野生植物,果實屬圓 球形漿果,成熟時由綠色漸變成黑紫色,是 早期許多人童年的零嘴,嫩莖葉拿來川燙、 爆炒、煮湯或是熬粥,味道微苦而甘。  初夏五、六月是其莖葉最細嫩肥美的時候, 選葉片肥大者口感較不苦澀,可涼拌、煮湯.
教育信息化专题培训 王延觉 2014年5月.
第 1讲 计算机网络概述.
人生有榮騰 萬事皆歡騰
國外差旅費 大家好,我是楊思研, 今天要告訴各位的內容,是關於「國外差旅費」的部分。
學校:臺中市立大業國民中學 領域:語文學習領域(國語文) 作者:林瑩貞
《民法学》第七讲 债权法(下):合同法 中央党校政法教研部 李雅云教授.
石家庄迅步网络科技有限公司 联系人:张会耀 电话:
個人投資理財分析 財務狀況匯總表 銀行存款 共同基金 外幣基金 股票投資 保險價值 黃金投資 支出預算 房貸計算 不動產價值 資源變化資料庫
104學年度優良課程計畫分享暨課程計畫撰寫實務
行政作用法 行政命令.
第五章电子商务安全管理.
提升機密文書處理能力以貫徹執行個人資料保護 臺北市政府政風處 股長 呂佩毓
電子戶籍謄本申辦及驗證實務作業與問題討論
計算機概論 蘇俊銘 (Jun Ming Su) 資料加密技術簡介 計算機概論 蘇俊銘 (Jun Ming Su)
国际关系的决定因素:国家利益 江苏省震泽中学 丛海啸.
Views ,Stored Procedures, User-defined Function, Triggers
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
內容大綱.
前不久看到了这样一则报道:某个大学校园里,一个大学生出寝室要给室友留一张字条,告诉他钥匙放在哪里。可是“钥匙”两个字他不会写,就问了其他寝室的同学,问了好几个,谁也不会写,没办法,只好用“KEY”来代替了。 请大家就此事发表一下自己看法。
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
利用共同供應契約 辦理大量訂購流程說明.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
TCP協定 (傳輸層).
JAVA vs. SQL Server 建國科技大學 資管系 饒瑞佶 2013/4 V1.
亂數函數(Random-Number Function)
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
Working with Databases (II) 靜宜大學資管系 楊子青
Google Data API Spreadsheet
桌面環境簡介及IDE開發工具 Outline (一)什麼是Linux? (二)桌面環境系統簡介 (三)IDE開發工具.
類別(class) 類別class與物件object.
R教學 安裝RStudio 羅琪老師.
Echo Server/Client Speaker:Fang.
OpenID與WordPress使用說明
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
Chap3 Linked List 鏈結串列.
Smart Contract.
介绍区块链技术.
Introduction to FinTech
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
表單(Form).
Topic Introduction—RMI
Computex 2018 A note given in BCC class on May 29, 2018
為何電子商務的安全性令人擔憂? 電子商務資訊安全 實體商務也擔心安全-但數位化的偽造數量會更多更快
資料結構 優點 缺點 1 陣列 (Array) 沒有額外變量 (例head, next,...) 運作/操作較簡單 更新資料時,若要保持順序,需要移動較大量資料 靜態結構Static (宣告時已決定了陣列元素多少,不能在程式執行期間增減元素) 2 隊列Queue (FIFO) 容易更新 加入enqueue:
计算机网络概述 计算机网络原理与技术.
虛擬傢俱館 指導老師: 高玉芬 老師 組員: B 黃琪芳 B 蔡宜眞 B 林政緯
Controllable and Trustworthy Blockchain-based Cloud Data Management
2011清大電資院學士班 「頂尖企業暑期實習」 經驗分享心得報告 實習企業:工研院 實習學生:電資院學士班 楊博旭.
如何使用Gene Ontology 網址:
MicroSim pspice.
(Mobile User music–Sharing Innovation Center)
兒童及少年保護、 家庭暴力及性侵害事件、 高風險家庭 宣導與通報
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
台塑集團 之 分析討論 2006/12/05.
編輯網頁可用那些應用程式? 記事本 Word FrontPage Dreamweaver.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
ZigBee PRO教學系統 CC2530 實驗.
為何電子商務的安全性令人擔憂? 第二節 電子商務資訊安全 實體商務也擔心安全-but數位化的偽造數量會很多 網際網路是互聯的(匿名與距離性)
2018搶鮮大賽技術項目簡介 iMEC平台創意應用技術
班級:博碩子一甲 授課老師:鐘國家 助教:陳國政
MultiThread Introduction
資料擷取與監控應用實務.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
Computex 2019 A note given in BCC class on May 23, 2019
案例分析: THE NEXTGEN POS SYSTEM
Homework 3.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
JUDGE GIRL 使用介紹 & 常見問題 TAs :
Presentation transcript:

Ethereum 智能合約實戰技巧 從零到壹 陳耀鑫 工研院資通所 2017/5/18

本次目標 區塊鏈及智能合約簡介 開發工具介紹 如何依照自己需求選擇最合適的工具 滿滿的demo

密碼經濟學 密碼學 + 經濟激勵 = 達到資訊安全目標 Cryptoecnomic 確保過去的資料不可竄改、一致等特性 激勵資料特性能夠在未來繼續維持

雜湊函數(Hash Function) 輸入任意長度的字串 輸出固定長度的結果(ex. 256 bits) 不可逆、無碰撞 https://zh.wikipedia.org/wiki/%E6%95%A3%E5%88%97%E5%87%BD%E6%95%B8

Hash Pointer 是指向資料儲存的地方,且 是資料的hash值 若我們有一個hash pointer,我們能夠 將資料取回來,且 驗證他是否沒被竄改

(data) H( )

關鍵重點 建立一個有hash pointer的資料結構

偵測竄改 H( ) prev: H( ) prev: H( ) prev: H( ) data data data

Merkle Tree 具備hash pointer的二元樹

Blockchain 一直隨時間增長的Merkle Tree roots: additions:

Bitcoin roots: 防止雙花問題 一個區塊鏈帳本 Transactions: ----------- -----------

Ethereum roots: 可撰寫Smart Contract 將電腦放到區塊鏈上 VM States: -----------

Ethereum區塊內容

Ethereum: user account & contracts EVM A A C C C A user account C contract

在兩個account之間傳送ether EVM A A C C C A user account C contract

呼叫contract的method EVM A A C C C A user account C contract

contract的回應可以是傳ether給另一個account EVM A A C C C A user account C contract

也可以是更複雜的反應 EVM A A C C C A user account C contract

合約怎麼產生的? EVM A A user account C contract

傳送一個特別的交易 EVM A 沒有接收帳號 附上可執行的合約bytecode C A user account C contract

Ethereum toolchain Ethereum Client Ethereum Browser Solidity compiler cpp-ethereum go-ethereum pyethereum parity ethereumjs-testrpc (simulator) mist metamask parity solc mist browser-solidity parity truffle 單純想要體驗,不想架設環境 browser-solidity + metamask 懂nodejs,提升開發效率  ethereumjs-testrpc + truffle 非常有耐心的人 mist 想專注開發合約 parity

Browser-solidity + metamask

一般使用者註冊 匿名方式使用,無需註冊 產生一組金鑰對 公開金鑰(帳號) 私有金鑰 Key seed private key public key address 不可逆 不可逆

Ethereum Networks 每個network都有一條自己的區塊鏈 mainnet – 主網路 1 ether = 90 usd testnet ROPSTEN (Revived) - Proof Of Work KOVAN - Proof Of Authority (Parity only) RINKEBY - Clique Consensus (Geth only) private network 自己架設的 每個network都有一條自己的區塊鏈

Ethereum node介面 JSON RPC介面 使用者可以發送交易 每個node透過tcp/ip的30303 port互相連接成一個p2p網路

ethereumjs-testrpc + truffle 開發合約應用程式最快 編譯、部署、網頁一次完成 truffle init webpack truffle compile truffle migrate npm run build npm run dev

Web3.js JavaScript API 透過JSON RPC介面跟etherrum node通訊 實作JSON RPC介面

Mist

Parity 容易編譯、部署 自動化產生合約UI介面 truffle init webpack truffle compile truffle migrate npm run build npm run dev

今天最重要就這一頁 Taipei Ethereum Meetup https://medium.com/@yaohsin 我們是一群加密貨幣、區塊鏈、智能契約的技術愛好者,藉由每個月舉辦數次的實體聚會促進知識交流 https://github.com/EtherTW/Taipei-Ethereum-Wiki/wiki https://medium.com/@yaohsin