主页 > imtoken官网app下载 > 一、区块链与以太坊概述

一、区块链与以太坊概述

imtoken官网app下载 2024-01-26 05:10:10

**

一、区块链与以太坊概述

**

1.1 区块链的发展

在这里插入图片描述

1.1.1 V1.0时代(可编程货币)

区块链1.0就是电子货币,可编程货币

在这里插入图片描述

特点:TPS(Transaction per seconde)低,比特币每秒处理7笔交易,基于栈编程,图灵不完备(没有循环语句以太坊使用最多的合约编程语言,无法实现复杂编程)

1.1.2 V2.0时代(可编程金融)

区块链2.0即可编程金融,是区块链在股票、债券、期货、贷款、抵押、产权、智能财产、智能合约等经济、市场、金融领域的应用。

在这里插入图片描述

代表人物:以太坊(ETH)、小蚁(NEO)、比原链(BTM)

特点:处理速度加快,图灵完备(可以用代码实现各种复杂逻辑)

1.1.3V3.0时代(可编程社会)

区块链与社会,区块链与各行业的融合:物联网、存储(IPFS)、游戏、区块链+、代币经济代表:柚子(EOS)企业操作系统、墨客(MOAC)

在这里插入图片描述

以太坊合约地址_以太坊使用最多的合约编程语言_以太坊智能合约是什么

特点:处理速度快,可达到商用水平

1.2 区块链协议层

在这里插入图片描述

1.2.1 数据层

包括:区块链数据、链结构、哈希函数、默克尔树、非对称加密、时间戳。

问题:需要突破的是区块容量的问题。

1.2.2 网络层

P2P网络、传播机制、验证机制

1.2.3 共识层

1.3 区块链按应用场景分类

1.3.1 公链

1.4 什么是以太坊

1.4.1. 概述

以太坊是在计算机网络上运行的软件,可确保数据以及称为智能合约的小程序可以在没有中央协调器的情况下由网络中的所有计算机复制和处理。 以太坊的愿景是创建一个不可阻挡、屏蔽(审查)抵抗和自我维持的去中心化世界计算机。

官方网站:

以太坊使用最多的合约编程语言_以太坊智能合约是什么_以太坊合约地址

交易浏览器:

github黄皮书:

它扩展了比特币的区块链概念:在全球多台计算机上验证、存储和复制交易数据(因此称为“分布式账本”)。 以太坊将这一概念更进一步,使得在世界各地的多台计算机上运行代码成为可能。

比特币用于数据的分布式存储,以太坊用于数据的分布式存储和计算。 这些小型计算机运行称为智能合约的程序,合约由参与者通过称为“以太坊虚拟机 (EVM)”的东西在他们自己的机器上执行。

主要特点是:

以太坊是由许多节点组成的区块链网络。 以太坊可以转移资金和存储数据(通过交易进行)。 以太坊可以执行程序,称为智能合约。 所有节点都运行这个程序。 以太坊网络有很多,只有一个主网,还有很多测试网。 我们也可以自己搭建私有链。 Node节点实际上是一台运行以太坊客户端的计算机。 以太坊是一条公链,每个人都可以自由加入和退出以太坊网络。 每个以太坊节点可以同步所有账本/区块链信息

1.5 与以太坊网络交互

1.5.1. 开发商

web3.js:以太坊项目开发的.js库

1.5.2. 一般用户

Metamask()(浏览器插件,firefox,chrome,适合开发测试,也适合初学者)注:我用的是metamask和firefox浏览器,个人感觉这个配置在国内网络环境下还是比较友好的

在这里插入图片描述

1.5.3. 交互图

在这里插入图片描述

几个概念

以太坊合约地址_以太坊智能合约是什么_以太坊使用最多的合约编程语言

gas(汽油)(油耗)

由于以太坊是一条公链,每个人都可以自由参与。 为了防止垃圾数据泛滥网络,以太坊上的每一次操作都需要成本。 这笔费用反映在天然气上。 您需要转账和部署智能合约,调用智能合约方法会消耗一定量的 gas。

gasprice (汽油价格) (石油价格)

操作虽然消耗gas,但最终真正消耗的是eth,所以存在转化率问题。 gasprice 充当汇率。 它代表了一个gas在eth中的价值,gas*gasprice就是最终的手续费。 也就是从你的账户中扣除的eth。

这样的设计可以保证用户在以太坊上的操作费不会随着eth的价格发生剧烈变化(例如:如果eth上涨,可以降低gasprice来降低手续费),gaslimit(汽油上限)(gas tank)以太坊规定每笔交易的gas limit至少为21000,矿工可以调整这个值,所以最终花费的gas是不确定的,所以以太坊设置了gas limit,也就是说gas limit最多给矿工gas (为了防止自己写的合约死循环),如果最后使用的gas小于gas limit,剩下的会退还给你,但是如果你的gas limit不够支付这笔交易,不退还,交易失败,转账金额不退,所以你转账设置的限额一定要大于21000。

智能合约有一个指定的账户用于存储,任何用户在使用合约时都与这个地址进行交互。

在这里插入图片描述

1.7 Solidity 简介

以太坊中编写智能合约的语言是solidity,扩展名为.sol 中文官方手册 强类型编程语言(变量类型很多,比如int byte bool struct等,类型之间需要强制转换)类似于javascript(不过JavaScript是弱类型语言,一个var关键字自动识别数据类型)一堆陷阱

1.7.1 Remix本地编译环境

虽然说学习的时候偶尔会用到本地编译,但是连接以太坊对于我这种新手来说太慢了。 所以一般采用本地编译。 当然,如果你想使用web编译器,也是可以的(),下面介绍本地编译器的安装。

默认使用淘宝npm镜像源,不懂的朋友可以自行上网搜索。

安装:

cnpm i remix-ide -g

启动服务:

以太坊合约地址_以太坊智能合约是什么_以太坊使用最多的合约编程语言

混音

连接到本地文件夹:(需要安装remixd) 注:cnpm i remixd -g (需要在主界面点击Connect to Localhost)

Remixd -s D:\路径 --remix-ide :8080

(终端需要一直保持在线才能一直使用,嫌麻烦的朋友可以考虑把cmd命令做成文件)

1.7.2 混音的使用

在这里插入图片描述

2.编译合约

remix编辑器中自动集成了solidity编译器,所以我们的合约代码可以自动编译

第 2 步:下载 NodeCore 模块! [在此处插入图片描述](,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d1bGlrYW5z,size_16,color_FFFFFF,t_70#pic_center

在这里插入图片描述

第三步:配置Nodejs CoreModules模块,点击OK

在这里插入图片描述

注意下图中的文字。 如果左边的Node.js和NPM都不存在,说明本章第一步node插件没有安装成功,请重新安装。

在这里插入图片描述

第四步:重启goland,然后创建一个项目,添加文件test.js

以太坊智能合约是什么_以太坊使用最多的合约编程语言_以太坊合约地址

输入测试代码:let a= require('fs'),如果能智能提示require,说明NodeCore模块有效。 配置完成。

10.确保安装了create-react-app命令

这个命令可以下载react空工程,我们将基于这个工程来写dapp

安装命令如下:

cnpm 安装 create-react-app -g

然后创建一个空的反应项目:

创建反应应用程序项目

输入项目名称并执行以下命令:

npm 运行开始

如果能正常启动,则安装成功。

11、安装以下包(每个空项目需要重新安装)

cnpm 安装 web3 --保存

cnpm 安装 solc@0.4.25 --保存

cnpm 安装 semantic-ui-react --save

cnpm 安装 semantic-ui-css --save

cnpm install ipfs-api --save(ipfs库,后面会用到)

注:作者使用windows系统

免责声明:作为第二代区块链系统,以太坊允许我们以智能合约的形式与以太坊进行交互,而无需编写区块链的底层技术。 因此,以太坊可以说是提供了一个很好的领域。 区块链底层服务平台以太坊使用最多的合约编程语言,我们可以通过部署和调用合约,相对轻松的部署我们的DAPP软件。 这篇文章的主要目的是记录我学习以太坊的过程,防止像我这样的新人入坑。 本系列属于学习笔记。 就是在别人的基础上加上自己的意见。 商业用途被严格禁止。 (作者:许昌加斯)