时间:2023-06-17|浏览:231
- 以太坊概念介绍 - 产生背景(区块链1.0时代) - 什么是以太坊(区块链2.0时代) - 以太坊的特点 - 智能合约与一般程序的区别 - 部署第一个智能合约 - 以太坊名词介绍 - ETHWallet - EVM - Solidity - Dapp(去中心化应用,即Decentralized application) - Ether(以太币) - 公有链、联盟链、私有链 - Truffle - Web3.js - 以太坊技术架构
以太坊概念介绍:
以太坊是一个开源、去中心化的区块链平台,能够实现智能合约和分布式应用。区别于比特币的单一用途,以太坊的目标是在区块链上构建更高级的应用程序。
产生背景(区块链1.0时代):
比特币开创了去中心化密码货币的先河,但是比特币并不完美,它只能支持比特币流通,缺乏应用层面的想象空间。比特币仅仅只能存储交易数据,不足以构建更高级应用。
什么是以太坊(区块链2.0时代):
以太坊是能够在区块链上实现智能合约和开源操作系统的平台。如果把区块链比作硬件设施,那么以太坊则是Android操作系统。开发人员可以在以太坊平台上建立和发布下一代分布式应用。
以太坊的特点:
以太坊并未给用户预设操作,而是允许用户按照自己的意愿创建复杂的分布式应用。以太坊官方推荐的 Solidity 编程语言是图灵完备的。和其他区块链一样,以太坊也有一个点对点协议。每一个网络节点都可以安装以太坊虚拟机来执行相同的智能合约。
智能合约与一般程序的区别:
智能合约是去中心化的,并以信任为基础。运行智能合约需要费用,需要仔细思考。智能合约和一般程序的区别在于它可以自主操作和自主判断。
部署第一个智能合约:
以太坊官方推荐的智能合约开发 IDE 是 RemixIDE,适合初学者,可以在浏览器中快速部署和测试智能合约。但是,它必须联网才能编写、测试和部署。 Solidity 是以太坊官方推荐的编程语言。
以太坊名词介绍:
- ETHWallet:以太坊客户端,提供账户管理、挖矿、转账和部署智能合约等功能。 - EVM:以太坊虚拟机是以太坊中智能合约的运行环境。 - Solidity:一种语法类似 JavaScript 的高级语言,最大的优势在于可以直接与以太坊分布式账本进行交互。 - Dapp(去中心化应用,即 Decentralized application):可以让“终端用户间、终端用户和资源间、资源和资源间”在没有中间人的情况下直接进行互动、商定协议或通讯的应用程序。 - Ether(以太币):在以太坊中使用的货币的名称。以太币被用于支付在 EVM 中进行计算所需的开销(Gas)。 - 公有链、联盟链、私有链:公有链对所有人开放,任何人都可以参与;联盟链支持权限、多区块互联;私有链仅对单独的个人或公司内部开放。 - Truffle:针对基于以太坊的 Solidity 语言的一套开发框架,对开发、测试和部署实现了非常友好的支持,让开发者专注于智能合约本身。 - Web3.js:以太坊提供的一个 Javascript 库,提供了一系列与区块链交互的 Javascript 对象和函数,包括查看网络状态、查看本地账户、查看交易和区块、发送交易、编译/部署智能合约、调用智能合约等,提供了点对点网络交互的 API。
以太坊技术架构:
以太坊技术架构包括以太坊客户端、以太坊虚拟机、以太坊协议、以太坊区块链和以太坊分布式应用。以太坊架构的设计使其能够支持更多的分布式应用程序。