一张图理解EOS是什么及EOS的智能合约
一张图理解EOS是什么
从比特币到以太坊,再到 EOS,它们背后的组织渐趋复杂。比特币处在完全自运转的状态。以太坊由以太坊基金会开发软件和运转该区块链网络。出于各种原因,EOS 显得更为复杂。初看,它至少包括以下三个部分。
第一,EOSIO 软件。这个开源软件是由 Block.one 公司开发的。当然严格来说,这是一个社区开发的开源软件,任何人都可以参与开发、提交代码。
第二,EOS 币(EOS 通证)。EOS 币由 Block.one 公司在以太坊上按 ERC20 通证标准发售。按发售条款,发售获得的 ETH 资金归属 Block.one 公司。历时一年的发售于 2018 年 6 月 2 日结束,之后,EOS 币被映射到上线的 EOS 主网上,它现在是 EOS 主网的原生数字货币。
第三,EOS 主网。通过竞选,一批区块生产者(BP,超级节点)被选出来,它们启动 EOS 主网。EOS 主网于 2018 年 6 月初由 EOS 社区上线。但可以合理地推测,在 EOS 社区中,Block.one 公司有着非常大的影响力。
在主网之外还出现了一些未获得 EOS 社区广泛认同的,可视为 EOS 替代网(altnet,这是我们造的一个与之前的替代币(altcoin)、替代链(alt chain)相对应的词)。
EOSIO 是一个开源软件,Block.one 公司也支持各方使用这个开源软件来架设自己的区块链网络。不过也出现了一些有争议的替代网,比如有的替代网试图混淆自己与 EOS 主网。开发者还可以用 EOSIO 软件建立单节点测试网、多节点测试网。
到此我们可以看到,EOS 的组成部分与多数基础公链项目一致,包括三个部分(一条链、一个通证、一个软件):EOS 主网、EOS 通证、EOSIO 开源软件。EOS 主网也是由分布式账本和去中心网络组成的。与其他基础公链的一个较大不同是,它鼓励更多的人在主网之外使用和运行 EOSIO 开源软件。
如图 1 所示,EOS 的主网包括三层:最核心层是由区块生产者(BP)组成的 EOSIO 核心网,中间层是 EOSIO 接入网,外层是 EOSIO 用户。
EOSIO 开源软件包括一系列软件,其中主要有三个:nodeos、cleos、keosd。
- nodeos:即 EOS 的核心程序,它是 EOS 节点的后台程序。
- cleos:管理 EOS 区块链和钱包的命令程序。
- keosd:管理 EOS 钱包的程序。
EOS 主网的账户包括两种:外部账户(由私钥控制的外部账户)和合约账户。和账户相关的概念是钱包与权限,钱包是保存密钥的客户端,而权限包括两个基础权限类别(owner 与 active),应用可自定义各种权限。
图1:一张图看懂EOS区块链与EOSIO开源软件
EOS 的智能合约
EOS 的智能合约是关联在各个合约账户上的。在 EOSIO 系统中,“合约”是沿用了区块链的专业术语,但其含义非常接近于 Linux 操作系统的后台应用,比如节点在启动时会包括四个缺省合约,如 eosio.bios、eosio.token 等。
EOS 的智能合约可以通过两种方式调用,一是用户通过命令调用,二是通过 EOSIO 软件的 send 方法调用。一个账户通过转账等动作触发另一个合约账户中的合约运行之后,这个合约可以通过软件代码调用其他的合约(见图3-11)。
EOS 智能合约现在是用 C++ 语言编写的,文件格式分别为*.hpp/*.cpp,编译后变为 WebAssembly 格式文件 WASM(*.wast)与应用头文件(*.abi)。
到此这篇关于一张图理解EOS是什么及EOS的智能合约的文章就介绍到这了,更多相关EOS知识分享内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
你可能感兴趣的文章
-
老韭菜多年经验告诉你,币圈用什么手机好而且安全
最近很多币圈新用户讨论手机使用与安全性,苹果因iOS保护被认为更安全,但下载限制多;安卓如小米、三星虽可自由安装APP,却存在诈骗风险,建议使用两部手机,一部苹果存钱…
2024-05-02 -
什么是EigenLayer?EigenLayer 解决了什么问题?
随着EigenLayer引入新的再抵押原语,现在正是了解EigenLayer及其意图的绝佳时机,如果你对EigenLayer还不熟悉,本文将为大家详细介绍什么是EigenLayer?EigenLayer解决了什么…
2024-04-30 -
一文读懂加密货币中的权益证明PoS是什么意思
这篇文章主要为大家详细介绍了加密货币中的权益证明PoS是什么意思以及它的优势与风险,感兴趣的小伙伴可以跟随小编一起学习一下…
2024-04-30 -
如何成为全能性的智能合约开发者?
如何成为全能性的智能合约开发者?本文主要针对 Solidity, Rust 和 Move 合约开发语言,供大家参考学习,少走弯路…
2024-04-30 -
Solana开发学习笔记(一)——从Hello World出发
本章对Solana区块链的基本概念进行了简要介绍,并介绍了开发Solana链上程序必须安装和配置的编程环境,通过对Hello World这个官方演示项目源码的解读,了解如何使用Rust开发…
2024-04-30 -
成为Web3开发者需要掌握哪些知识
Web3 开发者有哪些方向,成为Web3开发者需要掌握哪些知识?本文将为大家详细介绍,有需要的参考一下…
2024-04-30 -
去中心化什么时候能实现?去中心化交易所有哪些?
去中心化就是区块链技术的基石,指没有中央控制点的网络、系统和应用程序,很多交易所和加密货币都赋予了去中心化的概念,那么,去中心化什么时候能实现?下面将为大家详细…
2024-04-30 -
一文搞懂区块链技术应用于哪些领域?
区块链技术是一种革·命性的分布式数据库系统,它通过去中心化的方式来存储和传输数据,随着时代的进步,区块链技术应用领域也越来越多,那么,区块链技术应用于哪些领域?…
2024-04-30 -
区块链如何跨链交易?区块链跨链交易方式
随着区块链网络的不断增加,以及区块链之间缺乏连接,人们对跨链基础设施的需求越来越高,以提供用户在多个区块链网络之间的互操作性,那么,区块链如何跨链交易?下面将为…
2024-04-30 -
zkSync是什么意思?通俗解释zkSync
zkSync是由Matter Labs 于2019 年推出的以太坊Layer 2扩容解决方案,很多投资者还不知道究竟zkSync是什么意思?下面将为大家通俗解释zkSync…
2024-04-30