区块链学习(2)——以太坊中基本概念

  

1,以太币单位换算。以太坊的单位,沿袭了科学界的传统,用做过杰出贡献的数学,密码学专家的名字命名。以太坊的最小单位是魏。

  
  

Kwei(巴贝奇)=10的3次方魏

  

Mwei(浪子)=10的6次方魏

  

Gwei (Shannon)=10的9次方魏

  

MicroEther(萨博)=10的12次方魏

  

MilliEther(芬尼)=10的15次方魏

  

醚=10的18次方魏

     

2,以太坊账户不同于比特币中UTXO。账户分两类:外部拥有账户(地址结束)(普通账户),还有合约账户。
普通账户:存放以太币的账户,可以随意生成,特性如下:

  
      <李>拥有以太币余额(以太币存放的地方,与比特币的UTXO模式不同)的平衡。   <李>用于确定每笔交易只能被处理一次的计数器(临时的)。   <李>发送交易(以太币转账,发布合约,调用智能合约)   <李>通过私钥控制李   <李>没有相关联的代码李   
  

合约账户:是功能和数据的集合,存在于以太坊的特定地址(合约地址),特性如下:

  
      <李>可以拥有代币余额   <李>有相关联的代码李   <李>通过交易或消息调用的方式触发并由以太坊虚拟机(维生素)解释执行   
  

3,以太坊交易:以太坊中一个账户向另一个账户发送被签名消息数据包的过程,区块链会记录并存储相关数据。以太坊智能合约改变一个合约账户的数据状态也是一笔交易,同样要花费手续费。

  

交易的要素包含以下几点:

  
      <李>消息的发送者李   <李>消息的接收者李   <李>签名信息,用来证明发送者有意向通过区块链向接收者发送消息李   <李>价值域,从发送方转移到接受方的以太币的数量   <李>可选的数据域,用来储存智能合约或调用智能合约的代码李   <李> gasLimit,该交易的执行时使气体用的上限   <李> gasPrice,交易发送者愿意支付的费气用的价格。   <李>一个单位的燃气表示了执行一个基本指令,例如一个计算步骤。   
  

4区块气体限制是单个区块允许的最总多气体量,以此可以用来决定单个区块中能打包多少笔交易。区块的气体限制是由在网络上的矿工决定的,可以参考https://stats.ethfans.org/反馈的数据.Gas价格燃料价格,GasUsed:该交易消耗的总气体数量。交易费=GasUsed gasPrice,最高交易成本=天然气价格气体限制。

  

5,交易发出后,会向全网广播,途径很多个矿工节点,这些节点又会帮你转发给下一个节点,直到你的交易被矿工打包进区块中。每一次转发都会消耗一部分气体,如果被打包之前燃料耗尽,达到气体限制设置的上限,那这交易就一定会失败.ETH会退回,但燃料费还是要扣除。

  

6,智能合约,以太坊中创新在于它首次提出聪明的合同(智能合约)的概念和底层实现。所谓合约是指代码(功能)和数据(状态)的集合,存在于以太坊区块链的特定地址。智能合约是通过交易或消息调用的方式触发并由以太坊虚拟机(维生素)解释执行。

  挣值管理

7,都是Ethereum虚拟机的简写,称为以太坊虚拟机,维生素是以太坊平台最核心的组件,所有的智能合约二进制字节码都依赖维生素来执行.EVM是一个运行环境,支持任意复杂的代码,在科学术语中称为“图灵完备的”。

  

8中,可靠性是以太坊官方推荐的以太坊应用的高级编程语言,它的语法类似JavaScript,它被设计成以编译的方式生成以太坊虚拟机代码,所以如果我们要创建自己的合约代码,使用坚固是非常容易上手的。

  Browser-solidity

9日是一个官方提供的基于浏览器的合约编译器,使用它进行一些简单的合约开发测试是非常好用的,另外它的编译器版本会及时更新.Solidity在线编译器网址:https://ethereum.github.io/browser-solidity

  

10,雾是以太坊官方发布的图形客户端,它兼具钱包,开发调试于一体的图形化工具,方便我们创建,开发,测试和部署智能合约.Mist支持Windows, Mac, Linux等各种操作系统。

  

11、Geth的全称是Go-ethereum,是一个以太坊客户端,也是目前最常用的客户端,使用Geth进行开发调试也是比较好用的,Geth客户端具有完备的操作指令,在我们刚刚接触以太坊开发时,使用Geth进行简单的私链调试是非常好的学习环境。
Geth命令用法:

  
  

geth[选项]命令[命令选项][参数…]

     

区块链学习(2)——以太坊中基本概念