一、以太坊和区块链的关系
从区块链历史上来说,最先诞生的是比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取了技术架构和体系,称之为区块链技术。
从比特币提取的区块链技术称之为区块链1.0时代,那个时候的应用主要以电子货币和去中心化交易为主,比如各种山寨币。而以太坊将区块链带入了2.0的时代,区块链2.0不是推翻了1.0,而是在1.0的基础上实现了区块知晓、价值知晓、图灵完备,并进行了细节优化,从而形成了以智能合约为特色的区块链2.0。比特币定位于一个应用,而以太坊定位于平台,你可以在这个平台上利用智能合约做各种应用。
所以,学习区块链,直接学习以太坊就好了
二、什么是智能合约
智能合约是由事件驱动的,具有状态的,获得多方承认的,运行在一个可信,共享的区块链账本之上的,且能够根据预设条件自动处理账本上资产的程序。
智能合约的优势是利用程序算法替代人仲裁和执行合同
三、编写智能合约
contractSimpleStorage{uintstoredData; //定义变量
function SimpleStorage(unit v){//初始化
storedData = v;
}
functionset(uintx)public{ //定义存储函数storedData=x;}functionget()publicconstantreturns(uint){ //定义取值函数returnstoredData;}
}
上面这个例子使用的以太坊推荐的"Solidity语言",语法上跟JavaScript很像。当然你也可以使用Java,Go语言进行开发。
以太坊框架本身并没有什么特别的功能。就好像 程序语言一样,它做什么,都是由企业或开发者自 己来决定的。如,复杂的金融合约的自动化。比特币可以让用户不通过第三方机构,如银行,政府 等就可以直接兑换货币。但是以太坊的介入可能会产生更加深远的影响,因为任何复杂的金融操作 都是可以自动被执行的,并且可以写成代码在以太坊上运行。当然除了金融外,任何情况下,只要 对信用、安全、和持久有极高的要求,比如资产注册登记,投票,管理和物联网等都有可能受到以 太坊平台的影响。
一般来说,在以太坊上有三种类型的应用。第一种是金融应用,这包括 子货币,金融衍生品,套期 保值合约,和一些雇佣合同等。第二类是半金融应用,这里有钱的存在但也有很重的非金钱的方 面;最后,还有在线投票和去中心化治理这样的完全的非金融应用。
领取专属 10元无门槛券
私享最新 技术干货