聽說你買了 EOS ,連代碼什麽樣都不知道?
Github 是目前最流行的源碼管理網站,無數明星項目都在 Github 上開發,這其中當然也包括了 EOS。 EOS 在 Github 上的地址:
https://github.com/EOSIO/
裏面有多個目錄,首先就是白皮書,這是區塊鏈項目的根基:
https://github.com/EOSIO/Documentation
裏面的中文版翻譯的實在不怎麽樣,有基礎的推薦直接看英文版。
說點題外話:如果你想提高英語的話,持有一點 EOS 代幣吧,你會急於搞清楚白皮書在講什麽,要是想短時間快速提高英語,持有大量 EOS 代幣吧,別問我是怎麽知道的^_^。
源代碼在此:
https://github.com/EOSIO/eos
主要代碼都在這個工程裏,不過有一部分引用了別的工程,同步時使用 --recursive 命令可以全部下載下來。這裏可以看到,EOS 是用 C/C++ 開發的,Dan 說主要原因是 C/C++ 的效率非常高,可以支撐商業級的應用。
至於如何下載/同步源代碼,可以查看 Github 的教程或者搜索一下,這裏推薦使用 Github 的官方桌面客戶端:
https://desktop.github.com/
桌面客戶端最大的優點是可以圖形化地看到每天的代碼更新,就像看著一個 baby 在生長。你會發現 EOS 代碼的開發速度是非常快的。
另外怎麽能少了官方的 wiki:
https://github.com/EOSIO/eos/wiki
有了這個 wiki 基本就能指導你從零開始開發一個智能合約,需要一定基礎。不過別怕,誰也不是生下來就一米八的。
有了這些,我們來看看 EOS 源碼的目錄結構吧:
├─.git // github 工程配置文件
├─build // 編譯後的程序在此
├─CMakeModules // EOS 項目使用CMake構建
├─contracts // 示例智能合約代碼
│ ├─currency //示例代幣合約
│ ├─dice
│ ├─eos
│ ├─eoslib
│ ├─exchange
│ ├─infinite
│ ├─proxy
│ ├─simpledb
│ ├─skeleton
│ ├─social
│ ├─storage
│ ├─test_api
│ └─tic_tac_toe // 使用智能合約開發的小遊戲
├─Docker // EOS 支持 Docker 容器
├─docs // HTML 格式的 API 文檔
├─libraries //各種庫代碼
│ ├─abi_generator // 自動 abi 生成器
│ ├─appbase // eos 服務器端插件的框架
│ ├─chain
│ ├─chainbase
│ ├─egenesis
│ ├─fc
│ ├─src
│ ├─native_contract
│ ├─types
│ ├─utilities
│ └─wasm-jit // eos 智能合約使用 WabAssembly 架構
├─plugins // 服務器端的各種插件代碼
│ ├─account_history_api_plugin
│ ├─account_history_plugin
│ ├─chain_api_plugin
│ ├─chain_plugin
│ ├─database_plugin
│ ├─db_plugin
│ ├─faucet_testnet_plugin
│ ├─http_plugin
│ ├─net_api_plugin
│ ├─net_plugin
│ ├─producer_plugin
│ ├─template_plugin
│ ├─txn_test_gen_plugin
│ ├─wallet_api_plugin
│ └─wallet_plugin
├─programs // 主程序代碼
│ ├─abi_gen
│ ├─codegen
│ ├─debug_node
│ ├─eos-walletd // EOS 服務器端錢包插件
│ ├─eosc // EOS 客戶端
│ ├─eosd // EOS 服務器端
│ ├─launcher
│ └─snapshot
├─scripts
├─tests 測試程序
└─tools // 工具集
那麽下一步,我們就要嘗試建立 EOS 所需的環境,並編譯 EOS 工程了,敬請期待。
聽說你買了 EOS ,連代碼什麽樣都不知道?