EOS智慧合約與DApp開發入門教程
EOS的是Block.One主導研發的一個區塊鏈底層公鏈系統,它專門為支撐商業去中心化應用(Decentralized Application)而設計,其程式碼開源。
比特幣被稱為區塊鏈1.0,因為它開闢了數字加密貨幣的天下,走出了從0到1的決定性一步。
以太坊被稱為區塊鏈2.0,因為它提供了可執行智慧合約的圖靈完備的虛擬機器,帶來了無限的可能性。
而EOS則被稱為區塊鏈3.0,為什麼? 兩個字:效能。
EOS的定位正是其首頁的口號:
英文:The most powerful infrastructure for decentralized applications。
中文:最強大的去中心化應用基礎設施。
EOS期望做加強版的以太坊,一個高吞吐量的智慧合約平臺。
以太坊雖然功能齊備,但受制於其設計選擇,15秒的出塊速度導致交易吞吐量 遠遠不能達到大規模實用的程度,大約只有30~40TPS(交易/秒)。而EOS則選擇了不同的技術路線,目標是達到可觀的百萬TPS——考慮到Visa實際的處理速度才1700TPS,這一目標的確相當誘人。
EOS的共識機制
比特幣和以太坊之所以吞吐量這麼低,是受制於其設想的應用場景以及針對該場景所選擇的共識機制——這兩者都假設系統執行的環境完全不可信,因此都採用了工作量證明(Proof of Work)這種共識機制。
共識,顧名思義,就是大家對某件事達成統一的認識——對於 區塊鏈而言,某件事指的就是對交易的確認——任何一個節點要提交交易,都需要大家認可。
比特幣和以太坊目前所採用的PoW機制是傳奇人物中本聰的設計。在這種機制下,礦工們為了獲得記賬權和數字幣獎勵,需要不停挖礦來尋找合規的雜湊值,通過對雜湊值的共識來對交易資料進行確認和打包。PoW沒有準入門檻,任何節點都 有平等的權利參與記賬——當然,勝出的概率與算力有關:
EOS則假設環境並非完全不可信的,因此它採用的委託權益證明(Delegated Proof of Stake)機制,類似於我們熟悉的代表大會制度——不需要每個節點都參與共識的達成,只需那些選出來的節點去達成共識就可以了。由於可以相信這些節點,EOS的DPoS機制也不再需要解雜湊難題來獲取記賬權,它讓持有EOS幣的人可以通過持續的投票系統來選擇21個作為代表的超級節點——出塊節點(Block Producer),由超級節點輪流進行交易資料確認和記賬,並給予其一定的獎勵。
顯然,讓21個節點達成共識,肯定比1萬個節點達成共識要高效多了。
EOS的資源利用機制
我們知道,比特幣和以太坊中的交易手續費機制,其目的就是防止大量垃圾交易使得系統擁堵。
而EOS則通過基於膨脹的獎勵機制(每年增發1%,總增發不超過5%)完全取消了 交易手續費,這在降低了系統使用的成本同時也帶來一個不可避免的問題:
如何避免系統資源的濫用?
EOS設計了一種新的資源使用機制:根據賬戶中EOS通證的數量來分配系統資源。
CPU與頻寬:抵押/贖回
在EOS的模型中,CPU與頻寬採用抵押的方式:按抵押的EOS通證比例分配CPU與頻寬。例如,如果你持有全網1%的EOS通證,那就可以抵押這些通證來獲得全網1%的CPU和頻寬。這樣就可以隔離開所有的DAPP,防止資源競爭和惡意的DDOS供給,無論其他的DAPP如何擁堵, 你自己的頻寬都不受影響。
當不再需要CPU與頻寬時,抵押的EOS通證可以贖回,在贖回的時候,存在三天的贖回期。
記憶體:買入/賣出
與CPU和頻寬不同,要將資料儲存在區塊鏈中,你需要基於當前的RAM市場價格,用EOS通證買入RAM,才能獲得一定數量的儲存位元組。當你不再需要記憶體時,也可以將記憶體以當前的RAM市場價格 賣出得到EOS通證:
RAM的價格是基於班科(Bancor)演算法,也就是說是由市場供需調節的:如果RAM供不應求,則買入RAM時就需要更多的EOS通證,而這時賣出RAM也能獲得更多的EOS通證。
記憶體是消耗資源,不可贖回,只能買賣。以EOS上發幣為例,目前發幣需要20M的記憶體,一個EOS可買20KB,按目前的儲存價格發一個幣需要消耗1000個EOS。這是EOS記憶體消耗的剛需來源。
課程概述
本課程面向對EOS去中心化應用開發感興趣的朋友,課程內容涵蓋EOS DApp開發的核心概念、智慧合約的開發與部署以及前端頁面與EOS區塊鏈如何互動,並最終完成一個基於React和EOS的完整Dapp的開發。
第一章:進入EOS世界
瞭解EOS的定位與特點、共識機制、付費計算模型等核心概念。
第二章:Hi EOS
瞭解EOS節點的軟體整體框架以及節點伺服器、錢包伺服器和命令列工具的作用, 學習配置、啟動EOS節點伺服器和錢包伺服器的方法,初步瞭解命令列工具的使用方法。
第三章:錢包、金鑰與賬戶
理解EOS中與個人身份相關的三個核心概念:錢包、金鑰與賬戶,學習使用命令列工具 建立錢包、金鑰與賬戶的方法。
第四章:智慧合約的開發與互動
瞭解智慧合約的概念與作用,學習EOS智慧合約的編寫和編譯,學習使用命令列工具 部署合約並與合約互動。
瞭解EOS智慧合約中狀態的持久化機制,學習使用多索引表儲存合約狀態。
第五章:發行自己的代幣
學習在EOS上發行代幣的原理和實現機制,並通過實際操作,掌握如何 使用命令列工具進行代幣的發行、轉賬和餘額檢視等操作。
第六章:使用程式碼與智慧合約互動
理解應用與EOS區塊鏈互動的原理,學習利用JSON RPC介面和eosjs封裝庫來 訪問EOS區塊鏈。
第七章:實戰便籤DApp開發
綜合運用EOS知識,使用React完成一個EOS便籤去中心化應用,學習從需求分析到 程式碼實現的完整過程。
課程地址在=========>EOS教程
相關文章
- DAPP開發流程 | DAPP智慧合約開發APP
- EOS開發(1.3-1.4)以上版本 智慧合約DAPP全棧使用指南APP全棧
- DAPP智慧合約/系統開發/智慧合約原始碼/DAPP/Defi/NFT/IDOAPP原始碼
- DApp智慧合約系統開發APP
- Dapp 合約代幣系統開發智慧合約APP
- 鏈上DAPP系統開發|智慧合約DAPP開發搭建APP
- 智慧合約Dapp系統開發(方案)APP
- 智慧合約DApp專案開發流程APP
- 智慧合約Dapp專案如何開發構建?智慧合約開發原始碼示例APP原始碼
- 【許曉笛】開發第一個 EOS 智慧合約
- 區塊鏈BSC智慧合約DAPP開發區塊鏈APP
- 3.06 EOS智慧合約(上)
- 3.08 EOS智慧合約(下)
- EOS開發完全解析(六):手摸手實現第一個EOS智慧合約——Hello EOS
- DAPP智慧合約迴圈互助遊戲開發原理丨DAPP智慧合約迴圈互助遊戲系統開發(開發案例)APP遊戲開發
- 馬蹄鏈智慧合約DAPP開發需求丨馬蹄鏈智慧合約DAPP質押挖礦系統開發(開發案例)APP
- 智慧合約開發dapp專案解析(原始碼)APP原始碼
- DAPP智慧合約互助公排開發說明丨DAPP智慧合約互助公排系統開發(方案及原始碼)APP原始碼
- DAPP馬蹄鏈智慧合約開發正式版丨DAPP馬蹄鏈智慧合約系統開發(詳解及案例)APP
- 智慧合約從入門到精通:JIDE整合開發工具IDE
- DAPP智慧合約迴圈矩陣公排dapp系統開發APP矩陣
- DAPP合約代幣燃燒挖礦系統開發丨智慧合約DAPP技術框架APP框架
- 智慧合約DAPP挖礦系統開發應用APP
- 區塊智慧合約DAPP軟體系統開發APP
- DApp智慧合約技術開發詳情講解APP
- 馬蹄鏈智慧合約dapp系統開發搭建APP
- 智慧合約Dapp理財返傭系統開發APP
- DAPP智慧合約矩陣模式軟體開發方案APP矩陣模式
- JAva智慧合約DAPP系統開發(區塊鏈)JavaAPP區塊鏈
- 智慧合約DAPP代幣合約做市質押系統開發demoAPP
- DAPP智慧合約互助遊戲開發詳情丨DAPP智慧合約互助遊戲系統開發技術分析及規則APP遊戲開發
- DogeStyle跳舞狗開發/智慧合約系統開發原理/DAPP/DefiAPP
- 3.10 EOS智慧合約案例實踐
- Dapp智慧合約遊戲鏈遊開發丨智慧合約遊戲鏈遊系統開發案例版APP遊戲
- 智慧合約從入門到精通:智慧合約的前世今生
- 智慧合約LP質押挖礦系統開發DAPPAPP
- 鏈上智慧合約錢包系統開發搭建DAPPAPP
- DAPP公排互助智慧合約模式軟體開發案例APP模式