什麼是EOCS?
EOCS(Enterprise Operation Cross System),是一個基于eosio底層架構實作的企業級跨鍊作業系統,旨在實作和EOS主鍊通信的并行鍊,是真正意義的跨鍊,支援高效穩定的跨鍊交易,為跨鍊生态建設提供更穩定和安全的平台。作為可與EOS主鍊互動操作的第一條并行鍊,EOCS Chain力圖實作安全可靠、快捷便利的跨鍊資産轉移、跨鍊智能合約調用。任何人都可以在EOCS Chain并行鍊上開發或使用跨鍊DAPP。
為什麼選擇EOCS?
互操作性
EOCS Chain并行鍊允許EOS主鍊與主流公有鍊、聯盟鍊、私有鍊互相通信和價值交換。
可擴充性
通過多鍊互聯互操作,EOCS Chain可幫助EOS實作史無前例的無限擴充。
開發友好性
EOCS Chain延續了EOS軟體堆棧的WebAssembly機制,可以非常輕松地開發DAPP。
EOCS發展路徑
EOCS核心競争力
EOCS Chain并行鍊與EOS主鍊之間的同構跨鍊,涉及以下元件:
同構跨鍊協定(Isomorphic Inter-Chain Protocol, ICP) 同構跨鍊合約,在并行鍊和主鍊上同時部署,支援跨鍊協定包的解析,證明的驗證和存儲,以及EOS原生币(EOS)、EOCS Chain原生币(EOCS)、EOS代币的跨鍊資産轉移 同構跨鍊通道,通過邏輯證明確定通道建立的穩定性和安全性。 中繼者,将跨鍊協定包在并行鍊和主鍊之間安全快速地傳輸
EOCS Chain異構跨鍊嘗試與探索
我們相信未來的區塊鍊不僅在去中心化社群中得到商業落地前景,千萬中小企業同樣需要區塊鍊作為價值傳遞的基礎服務,未來不僅是公有鍊、聯盟鍊還是企業内部的私有鍊,都需要在一個公用網絡中進行價值傳遞和證明。 作為第一條EOS同構并行鍊,我們将在開發EOCS Chain的基礎上,繼續探索和研究異構鍊的跨鍊協定,不僅要為EOS生态做出支援百萬TPS的并行鍊體系,更要為整個EOS體系連接配接異構鍊做出創造性的貢獻,作為連接配接EOS主鍊及整個EOS跨鍊群體系與其他區塊鍊鍊的紐帶,為所有異構區塊鍊公鍊、聯盟鍊、私有鍊實作安全、快捷、無限擴充的區塊鍊生态體系!
EOCS整體架構簡圖
如何使用EOCS
編譯和部署
EOCS 支援多種Linux作業系統,mac,centos,ubuntu等等,可以去github下載下傳源碼并編譯,源碼下載下傳位址,https://github.com/eocschain/eocs。
在自己的工作目錄(可自己設定)執行指令 git clone https://github.com/eocschain/eocs 更新下載下傳源碼。下載下傳後檔案組織結構如下
在該目錄下執行eosio_build.sh,會生成build目錄,執行成功會提示build success!!!
填寫配置
在~/.local/share/eosio目錄下有config和data檔案夾,修改config.ini即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # Override default WASM runtime (eosio::chain_plugin) wasm-runtime = wabt # print contract's output to console (eosio::chain_plugin) # 友善觀察跨鍊合約列印資訊 contracts-console = true # The local IP and port to listen for incoming http connections; set blank to disable. (eosio::http_plugin) # 鍊1為127.0.0.1:8888,鍊2為127.0.0.1:8889 http-server-address = 127.0.0.1:8888 # 或 127.0.0.1:8889 # The endpoint upon which to listen for incoming connections (eosio::icp_relay_plugin) # 鍊1為0.0.0.0:8765,鍊2為0.0.0.0:8766 icp-relay-endpoint = 0.0.0.0:8765 # 或 0.0.0.0:8766 # The number of threads to use to process network messages (eosio::icp_relay_plugin) # icp-relay-threads = # Remote endpoint of other node to connect to (may specify multiple times) (eosio::icp_relay_plugin) # 鍊1為127.0.0.1:8766,鍊2為127.0.0.1:8765;其實隻要填一個,使得兩條鍊的ICP插件能夠連接配接上 icp-relay-connect = 127.0.0.1:8766 # 或 127.0.0.1:8765 # The chain id of icp peer (eosio::icp_relay_plugin) # 鍊1填寫鍊2的chain id,鍊2填寫鍊1的chain id,可參考後文擷取方式後再填寫 icp-relay-peer-chain-id = 630f427c3007b42929032bc02e5d6fded325b3e2caf592f963070381b2787a9d # The peer icp contract account name (eosio::icp_relay_plugin) # 對端ICP合約賬戶名;鍊1填寫鍊2上跨鍊合約賬戶名,鍊2填寫鍊1上跨鍊合約賬戶名 icp-relay-peer-contract = eocseosioicp # The local icp contract account name (eosio::icp_relay_plugin) # 本端ICP合約賬戶名;鍊1填寫鍊1上跨鍊合約賬戶名,鍊2填寫鍊2上跨鍊合約賬戶名 icp-relay-local-contract = eocseosioicp # The account and permission level to authorize icp transactions on local icp contract, as in 'account@permission' (eosio::icp_relay_plugin) # ICP插件向本端ICP合約發送交易時使用的賬戶名 icp-relay-signer = eocseosrelay@active # The actual host:port used to listen for incoming p2p connections. (eosio::net_plugin) # 鍊1為0.0.0.0:9876,鍊2為0.0.0.0:9877 p2p-listen-endpoint = 0.0.0.0:9876 # 或 0.0.0.0:9877 # Limits the maximum time (in milliseconds) that is allowed a pushed transaction's code to execute before being considered invalid (eosio::producer_plugin) # 設定足夠大的最大交易執行時間,可參看ICP Challenges中關于計算量的說明 max-transaction-time = 300 # ID of producer controlled by this node (e.g. inita; may specify multiple times) (eosio::producer_plugin) # 這裡測試鍊僅使用生産者eosio producer-name = eosio # 填寫賬戶eosio的公私鑰,這裡使用了預設值 signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 # 插件 plugin = eosio::chain_api_plugin |
啟動節點
進入build/programs/nodes,執行nodes,啟動節點
到此為止,EOCS概述和節點啟動簡介完畢,下一篇為大家帶來EOCS的跨鍊設計和源碼剖析