EOS開發教程(壹)

in eos •  2 months ago 

本文翻譯自:https://developers.eos.io/eosio-home/docs

  1. 開發環境
    1.0總覽
    區塊鏈
    區塊鏈是壹種新型的基礎設施軟體。從開發者的角度來看,妳可以在區塊鏈上記錄交易歷史,誰也不能改變這些歷史記錄資料。壹旦這些交易被儲存到區塊鏈上,這些交易將不會被刪除,修改,偽造,如果有人這麽做了,就能追蹤到這些操作的痕跡。
    智能合約則是區塊鏈上執行的壹段代碼,它能把某個區塊鏈實體的合約執行狀態儲存到該區塊鏈實體的歷史資料中。因此,開發者可以把區塊鏈當作壹種受信任的計算環境,在這個環境中,智能合約的輸入,執行,以及結果都是獨立的,不受外部影響的。這對開發者來說無疑開啟了許多新的可能性。
    什麽是EOSIO?
    EOSIO是壹個軟體,它引入了區塊鏈的架構,能極大的提升去中心化應用(EOSIO軟件)的可拓展性,它也能用於發布私有和公有的區塊鏈網路。這壹切都是通過壹種類似與操作系統的架構來實現的,在這種架構之上可以構建應用。EOSIO軟體提供了跨多CPU核以及/或簇的帳號系統,驗證功能,資料庫,異步通信,應用調度功能。由此,EOSIO有潛能擴展至百萬筆交易/秒,消除用戶手續費,同時能快速簡單的部署去中心化應用程式。技術特性
    C++/WASM虛擬機
    EOSIO使用C++作為它的智能合約編程語言。C++是壹門很流行的編程語言。因此,熟悉C++的開發者不需要學習新的編程語言就能上手學習EOSIO的API。壹旦熟悉了EOSIO的API,開發者就能使用C++來開發EOSIO智能合約了。
    EOSIO底層使用WebAssembly (WASM)虛擬機來執行智能合約代碼。WASM也被很多其他重量級的互聯網基礎軟體使用,它是由google,微軟,蘋果等公司開發的。使用WASM能讓EOSIO重新使用經過優化和測試的編譯器和工具鏈,這些編譯器和工具鏈被更廣泛的社區維護和改進。此外,使用WASM還能讓編譯器開發者更輕松的將其他編程語言移植到EOSIO上來。
    高吞吐量以及可拓展性
    EOSIO在設計之初,就是為了高吞吐量。通過使用委托股權證明(DPOS)共識機制,EOSIO區塊鏈網路就不需要等待所有節點都完成了壹筆交易來確定最終狀態。與其他共識機制相比,DPOS能達到更高的交易吞吐量。
    確認速度更快,延遲更低
    為了更高的用戶體驗,EOSIO交易確認的延遲性非常低,這樣開發者的應用甚至能與非區塊鏈的,中性化的應用程式進行競爭。
    成本可預測的區塊鏈
    EOSIO上的應用程式可以采用“免費”模式,也就是說用戶不需要為這些基礎設施付費。用戶不需要為轉賬付費。EOSIO區塊鏈比較特別,它的基礎設施資源由“抵押”機制來監管。基礎設施資源是基於被抵押的代幣與總可用資源的比例來確定的,壹旦代幣被抵押,就會確定下來。這意味著壹旦代幣被抵押,基礎設施資源就不會受到代幣價格波動的影響。
    全面的許可架構
    EOSIO的許可系統非常全面,它能創建自定義的許可架構,以供不同的場景使用。比如,妳可以創建壹種定制的許可機制,使用它來保護某個智能合約的某種特性。您還可以將呼叫智能合約所需的權限拆分為具有不同權限權重的多個帳戶。 這麽全面的許可系統能讓開發者不用重新發明輪子就能開發應用程式。
    可升級性
    部署在基於EOSIO的區塊鏈上的應用程式都是可升級的。這意味著只要有權限,開發者就能部署代碼,修復,添加特性,以及/或者修改應用邏輯。作為壹名開發者,妳可以對妳的應用程式進行叠代,而不必承擔由於失誤或是bug而被暫時鎖定的風險。不過,部署在基於EOSIO的區塊鏈上的智能合約也有可能無法修改。這些都由開發者來決定,協定層並不做限制。能源消耗更少
    由於使用的是DPOS共識機制,與其他共識算法相比,在驗證交易時,EOSIO消耗的能源更少。
    可編程的經濟與治理
    基於EOSIO的區塊鏈的資源分配與治理都是可編程的。治理與資源分配通過智能合約被編程。開發者只需要修改系統智能合約就能改變壹條EOSIO區塊鏈上的資源分配和治理規則。當使用系統智能合約時,鏈上治理變得更簡單了,因為區塊鏈上有改變時,底層代碼不需要修改。


    與EOSIO 區塊鏈的典型交互.
    智能合約工具鏈/CDT
    EOSIO.CDT是面向WebAssembly的工具鏈,也是壹套用於促進EOSIO平臺上的合約開發的工具集。除了是普通的WebAssembly工具鏈之外,它還包含了EOSIO特定的優化,用以支持開發EOSIO智能合約。這個新的工具鏈是用Clang 7開發的,也就是說EOSIO.CDT的LLVM優化與分析功能是最新的。不過,由於WASM目標仍然是實驗性的,有些優化就不可用或不完整。
    Nodeos
    Nodeos是EOSIO的核心節點守護進程。可以使用插件配置nodeos來執行豐富的功能。Nodeos用來處理所有的點對點網路,合約代碼調度,以及區塊鏈資料持久層的工作。如果是在開發環境上,nodeos也可以設置成單節點區塊鏈網路。
    Cleos/Keosd
    Keosd是EOSIO帳號的重要管理員。
    Cleos是命令行工具,開發者可以使用它來部署,測試,配置nodeos以及EOSIO智能合約。

    用戶與EOSIO dApp的典型交互
    EOSJS
    與基於EOSIO區塊鏈集成的Javascript API SDK
    Demux
    Demux是後端基礎設施模式的參考實現,它能用來把事件從壹條基於EOSIO區塊鏈上路由到可查詢的資料庫,或觸發副作用。
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!