EOSIO平台由以下组件和工具链构成 nodeos nodeos = node + EOSIO nodeos组件是EOSIO节点的核心守护进程,该程序可以通过配置插件来运行一个EOSIO节点,使节点可以进行区块生产、提供API接口、本地开发等工作。 nodeos处理区块链数据持久层、P2P网络、智能合约代码的调度; 对于开发环境,nodeos使你可以建立一个单节点的区块链网络; nodeos还可以通过插件提供更广泛的功能,可以在启动nodeos时通过命令行参数或配置文件启用或禁用这些插件。 cleos cleos = cli + EOSIO cleos组件是一个命令行接口,用于和区块链交互和管理钱包。 cleos可以和nodeos公开的REST API进行交互,还可以使用cleos部署和测试EOSIO智能合约。 keosd keosd = key + EOSIO keosd组件用于将EOSIO密钥安全地存储在钱包中。 keosd是一个用于存储私钥和进行数字签名的密钥管理守护进程; keosd把密钥加密后存储在相关联的钱包文件中; keosd还定义了一个安全区域,用于签名由cleos或第三方库创建的交易。 EOSIO.CDT EOSIO.CDT是一个WebAssembly(Wasm)编译工具链和一组编写EOSIO智能合约的工具。 EOSIO.CDT除了作为通用的WebAssembly工具链之外,还提供了针对EOSIO的优化,以支持构建EOSIO智能合约; 下图说明了以上组件之间的基本关系: EOSIO还提供各种编程语言的开发库和SDK: Javascript SDK(前端) eosjs Swift SDK(iOS移动端) eosio-swift Java SDK(Android移动端) eosio-java-android-abieos-serialization-provider 扩展:LLVM、Clang、WASM工具链 LLVM LLVM是一个完整的编译器架构,是一个用于开发编译器、解释器相关的库。 广义的LLVM是指整个LLVM编译器架构,包括前端、后端、优化器、众多库函数和模块; 狭义的LLVM是聚焦于编译器后端功能(代码生成、代码优化、JIT等)的一系列模块和库。 Clang Clang是一个使用C++ 编写的、基于LLVM的C/C++/Objective-C/Objective-C++语言编译器。 Clang是一个高度模块化开发的轻量级编译器,编译速度快、占用内存小,方便进行二次开发。 Clang和LLVM的关系 Clang对应编译器的前端,主要处理和具体机器无关的针对语言的分析操作; LLVM后端(狭义的LLVM)对应LLVM编译器的优化器和后端; 整体的编译器架构就是LLVM架构。 WASM工具链 WASM工具链就是把C/C++等代码编译成WebAssembly(WASM)代码的一系列编译工具。 EOSIO.CDT就是一个WASM工具链,它基于Clang 7,使用LLVM编译器架构,把使用C++语言编写的EOSIO智能合约代码编译成浏览器可以执行的WebAssembly代码。 —- 编译者/作者:松果 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
EOSIO平台和工具链
2020-06-13 松果 来源:区块链网络
LOADING...
相关阅读:
- 尽量远离小交易所,小交易所都不知道已经凉了多少个了,不要跟自己2020-08-05
- 看看DeFi将如何重塑金融服务2020-08-05
- 可口可乐和以太坊DeFi2020-08-05
- Chainlink借助新的赠款计划实现智能合约采用2020-08-05
- 以色列将启动区块链平台2020-08-05