主页 > 苹果怎么下载imtoken > 区块链和以太坊(一)

区块链和以太坊(一)

苹果怎么下载imtoken 2023-03-10 05:50:13

一、以太坊概述

(1) 什么是以太坊?

以太坊是一个全新的区块链平台,允许任何人构建和使用运行在区块链技术上的去中心化应用程序,简称为以太坊平台上的 Dapps。

以太坊可以转账和存储数据。

以太坊可以执行程序(智能合约)。

以太坊是一条公链,公链上的每个节点都是一台运行以太坊客户端的计算机。 每个用户都可以自由加入或离开以太坊网络。 并且每个以太坊节点都可以同步所有的账本/区块信息。

(二)以太坊的发展历程

2013年底,以太坊的发明者Vitalik Buterin发布了第一版以太坊白皮书,并召集了一批认可以太坊概念的开发者启动项目,其中包括项目联合创始人Gavin Wood和杰弗里·威尔克。

2014年2月,以太坊社区、代码量、wiki内容、业务基础设施和法律策略逐步完善。上述以太坊爱好者Gavin Wood和Jeffrey Wilcke开始全职专注于以太坊开发等工作

2014年4月,Gavin Wood发表了以太坊虚拟机技术描述黄皮书,成为以太坊的技术宝典。 根据说明,以太坊客户端支持7种编程语言,包括C++、Go、Python、Java、JavaScript、Haskell、Rust等,软件性能更加优化。

2014年7月24日,以太坊开启了为期42天的以太坊预售,共募集了31531个比特币,按照当时的币价相当于1843万美元,是当时第二大众筹项目. 预售使用的比特币地址为36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2。 你可以在比特币区块链浏览器中看到每一笔进出的转账。 最终卖出的以太币数量为60102216枚。

2015年5月,团队发布了最后一个测试网络(POC9,之前已经有0~8个测试版本)以太坊网络通讯,代号为Olympic,经过两个月的测试,团队于2015年7月发布了以太坊官方网络,标准在同时,以太坊区块链正式上线; 月底以太坊网络通讯,以太坊开始在多家交易所上市交易。

以太坊官网:

交易浏览器:

github黄皮书:

2. 以太坊的基本操作

(1) 与以太坊网络交互

以太坊上有开发者和消费者。 开发人员可以使用 web3.js 库连接到以太坊网络。 消费者可以通过第三方 Dapp 应用工具(如 Metamask)与以太坊网络进行交互。

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

siteshilian.com 以太坊网络_以太坊网络通讯_以太坊网络是什么

(2) Metamask安装

第 1 步:Metamask 仅支持 Google 或 Firefox 浏览器。 首先,打开谷歌浏览器的应用商店,在搜索框中输入“metamask”回车,按照提示安装即可。

第二步:安装成功后,浏览器右上角会出现一个小狐狸图标。 点击后会打开Metamask插件(如下图)。

第三步:首次打开Metamask时,会自动生成12个助记词。 我们要把这些助记词记下来,以后会经常用到。

第四步:输入账号密码。

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

(三)以太坊网络环境介绍

以太坊网络分为主网和测试网。 测试网络分为私网和公网。

主网:花费真正的以太币。

测试网络:

1)私有网络:需要自己搭建。

2)公共网络:以太坊共有四个公共测试网络,三个仍在运行。 每个网络都有自己的创世块和名称,按照开始运行的时间顺序如下:

Morden(已退休):Morden 是以太坊官方提供的测试网络。 2016年11月,由于难度炸弹严重影响出块速度,不得不退役。 Morden的共识机制是PoW。

Ropsten:Ropsten 也是以太坊官方提供的测试网络。 是为解决现代难度炸弹问题而重启的区块链。 它仍在运行,共识机制是 PoW。

Kovan:为了解决测试网中PoW共识机制的问题,以太坊钱包Parity的开发团队推出了全新的测试网Kovan。 Kovan 使用 Proof-of-Authority 共识机制,简称 PoA。 缺点:目前 Kovan 仅支持 Parity 钱包客户端。

Rinkeby:Rinkeby也是以太坊官方提供的测试网络,采用PoA共识机制。 缺点:测试币获取难度较大。

(4) 以太坊账户类型

外部账户:即普通账户,由私钥控制,无需密码。

内部账户:又称合约账户,可以接收ETH,由外部账户控制,合约有代码。

siteshilian.com 以太坊网络_以太坊网络是什么_以太坊网络通讯

(五)控制账户形式

私钥:一对一,可以在metamask的账户详情中查看。

JSON 文件:一对一,受密码保护,可以导入到元掩码中。

助记词:一对多,可以在“设置->安全&隐私->显示助记词”中查看。

(6) 转移过程

第一步:打开metamask,点击首页发送按钮;

第二步:输入对方关键地址和转账金额;

第三步:输入Gas Limit和Gas Price,代表转让方可以支付的交易费用上限。

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

注:1)在以太坊网络中,不同的网络可以有相同的账户信息。 但同一账户在不同网络的金额可能不同。 2) 无法在不同网络之间进行传输操作。

下图显示了每个操作的 Gas,以供参考。

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

实际上,数据上链就是发起交易的过程。 链上数据必须在交易发起前转换为十六进制数据。 将十六进制数添加到可选字段中,记得在前面添加 0x。

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

交易数据的结构如下图所示:

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

(七)比特币与以太坊的比较

阻塞时间

容量

以太坊网络通讯_siteshilian.com 以太坊网络_以太坊网络是什么

比特币

10分钟

1MB

每 4 年衰减一次

以太坊

15~30s

由Gas量决定

目前有3个奖励

3. 智能合约

(1) 构建智能合约

通俗地说,一个由代码控制的账户(内部账户)和一个可以与钱打交道的合约(程序)就是智能合约。

智能合约的特点:

1)合约由代码逻辑控制,可以触发支付;

2)合约部署后,存储在区块链上,不可修改;

以下是一个简单的智能合约代码,用solidity语言编写:

// specify compiler version.
pragma solidity ^0.4.24;

siteshilian.com 以太坊网络_以太坊网络通讯_以太坊网络是什么

// define smart contract. contract InBox { // define a public variable, which type is string. string public message; // define a function of InBox, the payable is a key word. function InBox() payable { } function setMessage(string newMessage) public { message = newMessage; } function getMessage() public constant returns(string) { return message; }

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

}

当智能合约部署到以太坊上时,系统会返回一个地址,即合约账户(有金额和代码逻辑)。

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

同一个合约可以部署多次,每次部署后都会生成一个新的合约账户。

(2) Remix在线编辑工具

Remix是编译器的官方在线版本。 官方地址:

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

第一步:点击左上角的加号,创建一个sol文件。

第二步:编写合约代码。

第三步:编译合约。 Remix编译器已经自动集成了solidity编译器,因此可以自动编译合约代码。

第四步:选择部署环境。

JavaScript VM:默认初始化5个账户,每个账户100ETH。

注入的 Web3:与 Metamask 紧密集成。

Web3 Provider:链接到本地​​启动的区块链环境(例如truffle、ganache、geth搭建的私链)。

第五步:部署合约。

部署合约也是一个交易,只是to字段不需要填写,data字段是合约字节码。

以太坊网络是什么_以太坊网络通讯_siteshilian.com 以太坊网络

第六步:调用合约程序。

发送:所有对区块链数据状态的改变称为发送操作,相当于发起一笔交易。 特点:花钱,速度慢。

调用:所有读取区块链合约数据的操作都成为调用操作。 特点:免费、快速。