1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 小白从零开始学习区块链的个人笔记(四) 智能合约与区块链操作系统

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

时间:2023-09-08 12:52:49

相关推荐

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

4.1 以太坊简介

什么是以太坊

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

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

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

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

比特币和以太坊的关系

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

比特币存在的不足:

• 比特币区块链缺少图灵完备,图灵完备是指一切可计算的问题都可以计算。

• 比特币区块链的扩展性比较差,不能应用在除了比特币以外的其它领域

以太坊的优化:

• 建立了一个图灵完备的底层系统,可以通过简单的程序来实现各类数字资产的生产

• 一个可编程、图灵完备的区块链网络,可以实现更多的非资产类的功能型产品

以太坊的历史与未来

• 年末,俄罗斯开发者Vitalik发布了以太坊的白皮书,启动了这个项目。

• 7月份,以太坊进行了第一批以太坊代币的预售,也就是ICO,通过为期42天的预售,以太

坊团队共筹集到了3万多个比特币,当时预售了6千多万个以太币。

• 10月份,以太坊将区块链的出块时间从原来的60秒缩减到了12秒,目前以太坊稳定在15秒。

• 7月30日,以太坊的第一个版本发布:前沿(Frontier),也是它最初的一个版本,只有命

令行,没有图形界面。

• 3月14日,以太坊发布了第二个版本:家园(Homestead),这也是目前正在运行的版本,

具有图形界面。

• 7月,以太坊进行了一次硬分叉,分叉为以太坊币ETH和以太经典ETC;

• 10月16日发布第三个版本:大都会(Metropolis)的第一阶段Byzantium(拜占庭),第二阶段Constantinople(君士坦丁堡)还未发布。第三个版本主要是加入了一个像谷歌的浏览器功能。 除了使用更加方便之外,它还拥有一个强大的应用商店,可以安装插件,实现更多的功能。

• 最后一个版本:宁静,还没有确定的发布时间,以太坊在第四版本会切换到混合的共识机制。

4.2 智能合约的编译和测试

智能合约的定义

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

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

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

五种以太坊智能合约

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

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

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

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

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

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

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

sudo add-apt-repository ppa:ethereum/ethereumsudo apt-get updatesudo apt-get install solcwhich solc

附上每步截图以供参考

在终端执行以下命令

git clone /ethereum/cpp-ethereum.gitmkdir cpp-ethereum/buildcd cpp-ethereum/buildcmake -DJSONRPC=OFF -DMINER=OFF -DETHKEY=OFF -DSERPENT=OFF -DGUI=OFF -DTESTS=OFF -DJSONSOLE=OFFmake -j4make installwhich solc

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

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

出处为/weixin_42608885/article/details/95461391,感谢作者!

安装完输入solc可以查看使用指南

编译部分暂时搁置,过段时间开新贴来记录学习过程,这个课程目前注重理论,实操过段时间补上

更新:已经开始写了

传送门:

以太坊solidity学习记录(一)新版在线remix编译器的使用(.4.27)

以太坊solidity学习记录(二)基础操作整理

以太坊solidity学习记录(三)基础数据操作

以太坊solidity学习记录(四)地址与交易

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。