P7 、1-以太坊(Ethereum)是什麼?html
DAPP:分佈式應用程序網絡
以太坊提供了便於交易的加密貨幣以太幣(Ether),可透過智能合約解決交易上的信任問題,同時也可撰寫DAPP來提供友善的信息彙總與操做界面,讓以太坊成爲一個目前最理想的區塊鏈底層技術。 編輯器
以太幣(Ether)的實際用途分佈式
在電腦上執行的通常的代碼,寫出來可能會有循環不斷執行(死循環)的狀況,搬到區塊鏈上亦然。那麼以太坊怎麼解決這個問題呢?以太坊開發者想到的辦法是讓執行的代碼變得有價。EVM裏支持的全部的指令(OPCODE)都有明碼標價,執行智能合約須要消耗與執行的指令數量至關的以太幣。在智能合約的術語中,這些拿來消耗的以太幣被稱爲gas(燃料)。部署合約到區塊鏈上時,須要附加必定數量的燃料。當燃料消耗完而程序還沒執行完,就會出現 Out of Gas(燃料耗盡)錯誤。智能合約透過這樣的方式來避免死循環等狀況。post
智能合約能作什麼事? 區塊鏈
創造新的加密代幣大數據
募資 atom
程序能作的事加密
當你須要公開時,可被信任的紀錄時,均可以透過智能合約達成。url
以太坊的缺點
P8 、2-什麼是智能合約(Smart Contract)
在區塊鏈上運行的程序,一般稱爲 智能合約(Smart Contract)。因此一般會把寫區塊鏈程序改稱爲寫智能合約。
智能合約能夠作什麼?
目前最多見的智能合約是各類加密貨幣合約,開發者能夠很容易地透過部署一個智能合約,來提供運行於以太坊上的新加密代幣。
智能合約和通常程序的差別
1、整合金流容易
2、部署時與後續寫入時須要費用
3、儲存資料的成本高
4、部署後沒法更改
如何編寫智能合約?
Ethereum上的智能合約須要使用solidity語言來編寫。
將智能合約部署到區塊鏈的流程
寫好solidity代碼(.sol)後,須要先將程序代碼編譯(編譯)成EVM(Ethereum Virtual Machine)能讀懂的二進制度Contract ByteCode,才能部署到Ethereum的區塊鏈上執行。部署到區塊鏈上的合約會有一個和錢包地址(地址)同樣格式的合約地址(Contract Address)。
部署後智能合約可自動執行。後續呼叫智能合約的時候,使用者可使用部署合約的錢包地址(全部者帳戶),或依據編寫的智能合約條件,讓其餘錢包地址也能呼叫這個只能合約。呼叫智能合約,其實就是向這個合約地址發起交易,只是交易的不僅是代幣,而能夠是智能合約提供的呼叫方法。
P9 、3-Atom編輯器編寫智能合約(Smart Contract)插件安裝配置
編輯器的選擇:Atom、WebStorm、VSCode、Sublime等等。
Atom下載地址:https://atom.io/,下載安裝Atom
安裝Atom插件:
離線插件安裝參考此文:Atom離線插件安裝