智能合约(solidity)编程⼊门
⼀. 智能合约概述
前⾔
区块链1.0: 2009年⽐特币的诞⽣。
区块链2.0: 以太坊的诞⽣,结合了区块链与智能合约技术的平台。
什么是智能合约
1996年,Nick Szabo在⽂章《Smart Contracts: Building Blocks For Digital Markets》中提出了智能合约的概念。
所谓“合约”,就是条⽂、合同⼀类的东西,⾥⾯记录了发⽣的条件与对应执⾏的条款,以⽀持确权等操作;所谓"智能",就意味着⾃动化、可编程。
所以,智能合约就是可编程的合同,也可以理解为⼀段⾃动执⾏的条⽂合同,在计算机中,就是⼀段⾃动执⾏的程序⽚段。它更易于合约保存,并且由确定的算法运⾏,给定输⼊,就得到对应的输出,极⼤保障了合约的执⾏⼒。
智能合约的现状与前景
从编程⾓度⽽⾔,智能合约就是⼀段代码。相⽐常规代码,智能合约具有许多差别与限制,例如:
单线程执⾏
js脚本编程入门代码执⾏会消耗资源,不能超出资源限制
⽬前难以获取链外数据,例如取得天⽓信息、⽐赛结果等
其他限制,如TPS
这些特点使得⽬前智能合约⽣态以链上资源的治理为核⼼。就像以太坊上各式各样的ERC标准与治理⽅案;EOS上有各种资源模型,⽐如CPU、RAM、Rex、Bancor协议等。
显然,就⽬前的⽣态⽽⾔,智能合约对现实世界的影响⼒有限。
但事物总是在发展的。⽬前,已有许多致⼒于突破这些限制的研究,典型的有Oracle(谕⾔机,但常被称为预⾔机),它允许智能合约和链外进⾏交互,这样就能⼤⼤提⾼智能合约的使⽤场景,彷佛⼀台电脑通上了⽹;再⽐如那些突破链⾃⾝性能瓶颈的尝试,例如⽀付通道、跨链、plasma、rollup,它们都从不同⾓度打破安全与性能的枷锁。
⽏庸置疑,智能合约将扮演着越来越重要的⾓⾊,将来随着以太坊2.0的落地,也许会开启新⼀个区块链时代。
智能合约技术
以太坊采⽤了Solidity作为智能合约语⾔,Solidity 是⼀门为实现智能合约⽽创建的⾼级编程语⾔,能在允许以太坊程序的节点上运⾏。该语⾔吸收了C++、JavaScript的⼀些特性,例如它是静态类型语⾔,⽀持继承、库等。
⼆. solidity开发讲解
简单的⽰例:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。