Ethereum 入坑的基本备忘

  1. 1. 什么是Smart Contracts(智能协议)
  2. 2. 智能协议下的Transaction(转账)
  3. 3. 智能协议的书写方式
  4. 4. 如何调用已经存在BlockChain上面的智能协议?
  5. 5. gas 和 ether
  6. 6. Ethereum Token的实现方式

最近开始学习Ethereum(以太坊)以及智能协议。由于以太坊相比比特币要复杂太多,所以梳理清楚概念尤其重要。

什么是Smart Contracts(智能协议)

可以把contract看成是持久化在ethereum 的blockchain的一段程序。智能协议和普通的用户节点一样,拥有地址,可以向智能协议转账,智能协议也可以向用户转账。用户可以调用智能协议定义的函数完成一系列功能。

智能协议下的Transaction(转账)

智能协议下的转账可以分为,单纯转出转入以太币,协议的部署,更新 这集中。协议的部署即把编译好的协议写入到以太坊的blockchain中。而协议的更新就是更新已经持久化在blockchain中的一些变量的数值。我们可以把智能协议看成是一个永远不会被释放的运行在内存中的程序。我们可以改变变量的值,调用程序中的函数。

智能协议的书写方式

智能协议多采用Solidity书写。Solidity是面向智能协议编程的静态编译语言。solidity的编译器为Solc,一般简单的项目可以使用钱包自带的强大的IDE一般的功能书写。比如Mist钱包

如何调用已经存在BlockChain上面的智能协议?

调用智能协议需要知道智能协议的地址,以及ABI(源码通过编译器在本地编译的时候会产生ABI, Mist钱包会自动帮你记录ABI), ABI就像是C语言的头文件一样,知道了智能协议地址以及ABI,就可以调用ABI中定义的函数了。

gas 和 ether

部署,执行智能协议需要消耗gas,gas相当于燃料一般,需要用ether换取。一般gas 和 ether之间又稳定的换取价格。
那么为什么执行智能协议不直接消耗ether,而要在中间放一个gas呢? 那是因为ether的价格变动很大,而执行智能协议的cost相对是固定的,如果用ether来计算,那么执行智能协议的cost也会有很大波动。

Ethereum Token的实现方式

基于以太坊智能协议,用户可以发行自己的货币。
具体例子可以参考这里, 我们发现用mist钱包可以很方便追踪自己有多自己创建的货币。我们知道,我们自己发行的货币也是一个智能协议,需要调用智能协议必须知道智能协议的地址和ABI,那么当我们watch一个自己持有的货币的数量,以及转账的时候,mist钱包是怎么知道这个货币协议的ABI的呢?原来其中有个公认的标准协议,只要按照这个标准协议来设计函数,那么MIST钱包就可以很方便套用上固定的ABI啦,我们只需要提供协议地址即可。

暂时先写这么多。

如果你觉得本文对你有帮助,请给我点赞助。