小白从零开始学习区块链的个人笔记(四) 智能合约与区块链操作系统

4.1 以太坊简介

什么是以太坊

以太坊(Ethereum):是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。

以太币:简称ETH,以太币是以太坊的内部燃料,为以太坊上各种币的自动交易提供主动的流动性, 同时也适用于智能合约执行的费用支付,它是以太坊内置的资产。

以太坊虚拟机:EVM,支撑执行任何复杂的代码和算法的虚拟机

智能合约:指的是由计算机程序定义、可自动执行的承诺和协议

比特币和以太坊的关系

以太坊技术=区块链技术+智能合约

比特币存在的不足:
• 比特币区块链缺少图灵完备,图灵完备是指一切可计算的问题都可以计算。
• 比特币区块链的扩展性比较差,不能应用在除了比特币以外的其它领域

以太坊的优化:
• 建立了一个图灵完备的底层系统,可以通过简单的程序来实现各类数字资产的生产
• 一个可编程、图灵完备的区块链网络,可以实现更多的非资产类的功能型产品

以太坊的历史与未来

• 2013年年末,俄罗斯开发者Vitalik发布了以太坊的白皮书,启动了这个项目。
• 2014年7月份,以太坊进行了第一批以太坊代币的预售,也就是ICO,通过为期42天的预售,以太
坊团队共筹集到了3万多个比特币,当时预售了6千多万个以太币。
• 2014年10月份,以太坊将区块链的出块时间从原来的60秒缩减到了12秒,目前以太坊稳定在15秒。
• 2015年7月30日,以太坊的第一个版本发布:前沿(Frontier),也是它最初的一个版本,只有命
令行,没有图形界面。
• 2016年3月14日,以太坊发布了第二个版本:家园(Homestead),这也是目前正在运行的版本,
具有图形界面。
• 2016年7月,以太坊进行了一次硬分叉,分叉为以太坊币ETH和以太经典ETC;
• 2017年10月16日发布第三个版本:大都会(Metropolis)的第一阶段Byzantium(拜占庭),第二阶段Constantinople(君士坦丁堡)还未发布。第三个版本主要是加入了一个像谷歌的浏览器功能。 除了使用更加方便之外,它还拥有一个强大的应用商店,可以安装插件,实现更多的功能。
• 最后一个版本:宁静,还没有确定的发布时间,以太坊在第四版本会切换到混合的共识机制。

4.2 智能合约的编译和测试

智能合约的定义

智能合约:指的是由计算机程序定义、可自动执行的承诺和协议。

以太坊智能合约:代码(即合约功能)和数据(即合约状态)的集合,存在于以太坊区块链的特定地址。 合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约依靠以太坊虚拟机(EVM) 以字节代码的二进制格式在区块链运行。

以太坊智能合约可以分为5种:数据库合约、管理员合约、合约管理合约(CMC)、应用程序逻辑契约(ALC)和公用合约。

五种以太坊智能合约

数据库合约:仅用作数据存储。允许其他合约写入、更新和获取数据,以及检查调用者权限。

管理员合约:在数据库合约上运行。执行批量读/写操作。

合约管理合约(CMC):目的是管理其他合约。主要任务是跟踪系统的所有合约/组件,处理这些组 件之间的通信,并简化模块化设计。保持此功能与正常业务逻辑分离。

应用逻辑合约(ALC):包含应用程序特定的代码。一般来说,如果合约使用控制器和其他合约来执 行特定的任务,则它是ALC。

公用合约:执行特定的任务,并且可以被其他合约无限制地调用。它可能使用某种算法散列字符串, 提供随机数字或其他东西。通常不需要太多存储空间,而且只有很少或没有依赖关系。

智能合约工具安装(基于Ubuntu 18.04)

首先,在终端执行以下命令

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
which solc
附上每步截图以供参考

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在终端执行以下命令

git clone https://github.com/ethereum/cpp-ethereum.git
mkdir cpp-ethereum/build
cd cpp-ethereum/build
cmake -DJSONRPC=OFF -DMINER=OFF -DETHKEY=OFF -DSERPENT=OFF -DGUI=OFF -DTESTS=OFF -DJSONSOLE=OFF
make -j4
make install
which solc

在这里插入图片描述

安装git时报错,但是可以使用以下指令,发现执行完便可以发现solc神奇的安装好了。。。

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

出处为https://blog.csdn.net/weixin_42608885/article/details/95461391,感谢作者!
安装完输入solc可以查看使用指南
在这里插入图片描述

编译部分暂时搁置,过段时间开新贴来记录学习过程,这个课程目前注重理论,实操过段时间补上
发布了9 篇原创文章 · 获赞 0 · 访问量 399

猜你喜欢

转载自blog.csdn.net/weixin_45067603/article/details/105515909
今日推荐