二 以太坊去中心化應用開發教程是什么?以太坊去中心化應用開發教程解答!
如下的教程是以太坊平臺上開發去中心化應用(Dapp)的簡介 。該教程教授用戶如何用Solidity語言–一種我們定制化的合約編程語言–編程合約 。下面小編給大家介紹一下,希望你能喜歡!

譯者注:對于英文水平不錯的開發者 , 推薦閱讀原文 。
教程【二 以太坊去中心化應用開發教程是什么?以太坊去中心化應用開發教程解答!】如果你在研習教程過程中有任何問題,請留下評注或聯系ken@ethdev.com 。
以太坊開發入門以太坊——一個去中心化的共識網絡對多數開發者來說,在職業生涯中花時間學習使用一個新平臺,一門新語言 , 或一種新框架是再平常不過的事情了 。更加新穎的事情是學習完全不同的范式 。去中心化的共識網絡,區塊鏈和其最知名的實例——“比特幣”,這些新事物即使在技術社區內也沒有被完全理解,對于這些新技術如何從本質上區別于我們現在使用的技術 , 大多數普通人現在還不能理解 。
基于這樣的想法,在我們進行開發我們首個去中心化的app之前,我會對一些建造一個去中心化共識網絡所必需的關鍵技術作出概述,也會介紹博弈論 。博弈論會利用這些技術以創建一個網絡 。
核心技術公鑰密碼學公私鑰密碼系統是一類加密方法,它需要創建兩個分開的秘鑰;“私鑰”只有所有者知道,公鑰被(系統內)所有人知道 。它具有一些有用的屬性 , 首先是任何人都可以用公鑰加密數據,而且只有對應的私鑰才能解密 。第二個屬性,私鑰的持有者利用私鑰對一段信息進行簽名,任何知道其公鑰的人都可以對簽名進行驗證,不需要泄露任何與私鑰相關的信息 。這一屬性被用于數據通信網絡的賬號系統,構成了發送交易的基礎 。
加密散列函數散列函數是這樣一個函數:它將一段任意大小的信息作為輸入,輸出一段具有固定長度的數據 。例如,一個1MB或者500KB的文件經過散列函數計算后,將生成兩個長度為128比特的“散列” 。加密散列函數不僅具有以上功能,還能滿足三項重要要求:進行散列計算時,不需要泄露生成散列的輸入信息(不可逆),輸入的微小變化將導致輸出散列的巨大變化;散列不可被計算,除非使用散列函數(沒有捷徑);兩個不同輸入生成相同散列的概率極低 。
點對點網絡不同于客戶端-服務器模型,點對點網絡是多臺相互直接聯接的計算機組成的網絡,不需要向任何服務器發送請求 。所有參與網絡的計算機被認為是“節點”,所有的節點具有平等的地位 。點對點網絡通常依賴于無私心的節點,分享的資源至少與從網絡中獲取的資源一樣多 。
加密經濟學技術區塊鏈一個區塊鏈整體來說是一種為數據通信網絡特別設計的數據庫類型 。它可以保存任意數據,也能設定更新信息的規則,其首要特性是它可以在被稱為“區塊”的離散塊內得到更新,這些“區塊”通過前一區塊內容的哈希散列“鏈接”在一起 。一個區塊鏈不僅包含當前存儲在數據庫的信息,也包括每一次對數據庫的歷史記錄變更 。通過狀態和交易,區塊鏈構造了一個不改變每個隨后塊就不進行完整更改歷史的數據庫 。一個私鑰總是對“交易”或者改變數據庫狀態的請求進行簽名,并且簽名也存儲在區塊鏈中 。
工作量證明最早設想是作為一種垃圾郵件預防系統出現的 , 工作量證明是提供一種檢驗你“可能”已執行大量數學運算的簡單方法 。在多數應用中,它使用一個加密散列函數實現;給出一片任意數據(如一個交易列表和一個塊頭部),你必須要找到第二個數據片,當其與第一個數據片合并時可生成一個具有特定字符的散列(例如一個以多個零結尾的散列) 。因為預測第二片數據生成的哈希是不可能的,所以你必須對所有可能的數據進行隨機迭代,直到找到能夠生成你所要求散列的數據 。
以太坊技術以太坊虛擬機以太坊虛擬機是以太坊項目中一項主要的創新 。這是設計運行在點對點網絡中所有參與者節點上的一個虛擬機 , 它可以讀寫一個區塊鏈中可執行的代碼和數據,校驗數據簽名,并且能夠以半圖靈完備的方式來運行代碼 。它僅在接收到經數據簽名校驗的消息時才執行代碼,并且區塊鏈上存儲的信息會區分所做的適當行為 。
去中心化共識網絡和通用的區塊鏈以太坊協議是一個點對點網絡,其中每個點都存儲有同一個區塊鏈數據庫的備份和運行以太坊虛擬機以維護和變更其狀態 。通過使得創建一個新的區塊需要所有的網絡參與者進行工作量證明計算,工作量證明被整合進區塊鏈技術 。共識是通過激勵節點總是接受最長的區塊鏈實現的,激勵手段就是“以太幣” 。
這給我們帶來一項新技術 , 它既不是客戶端-服務器模式,也不是傳統的點對點網絡 , 因其存在激勵就意味著人們可以信任它可以提供持續確定性的服務 。
因其自身分布式的天然屬性和內建加密安全,它可以作為第三方,具有無需信任進行仲裁的能力,并且不受外部第三方的干擾 。通過使用密碼學貨幣,由軟件做出的決定對人、組織或者其它軟件具有金融影響 。
這為開發者在互聯網上實現交互提供了一種新的方式 。在介紹開發去中心化應的精妙之處時 , 我會再給出一些用例,盡我所能去解釋其中每一個的重要性.
相關經驗推薦
- 以太坊錢包MyEtherWallet使用指南是什么?以太坊錢包MyEtherWallet如何使用?
- PC QQ v9.0.6體驗版第二個維護版本推出 詳細版本號v9.0.6.24040
- 以太坊 Parity 客戶端使用指南是什么?以太坊 Parity 客戶端如何使用?
- 以太坊ETH錢包imToken使用指南是什么?以太坊ETH錢包imToken如何使用?
- 以太坊ETH錢包MyetherWallet使用教程是什么?以太坊ETH錢包MyetherWallet如何使用?
- 如何使用以太坊錢包對DAO項目進行投票?用以太坊錢包對DAO項目進行投票方法是什么?
- 以太坊錢包 Mist 使用教程是什么?以太坊錢包 Mist 如何使用?
- Serenity - 第二部分: Casper是什么?Casper指的什么?
- 如何到云幣購買“以太坊”?到云幣購買“以太坊”方法是什么?
- 以太坊智能合約編程概述有哪些?以太坊智能合約編程基本概念是什么?
