玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)
前面一篇关于翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用去编写了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂代码,或找出其中的漏洞,那么,学习这门高级的智能合约语言是有必要的,当然,这都得在上,毕竟国内的有些是不兼容。是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到
前面一篇关于智能合约
翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言
去编写智能合约
了。
而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约
代码,或找出其中的漏洞,那么,学习Solidity
这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊
上,毕竟国内的联盟链
有些是不兼容Solidity
。
Solidity
是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。
Solidity
是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++
、python
、javascript
影响。
Solidity是静态类型的,支持继承、库和复杂的用户定义类型以及其他功能。
使用Solidity,您可以为投票、众筹、盲目拍卖和多签名钱包等用途创建合约。
在部署合约时,你应该使用最新发布的 Solidity 版本。除了特殊情况外,只有最新版本才会收到安全修复。此外,突破性的变化以及新的功能会定期引入。我们目前使用0.y.z版本号来表示这种快速变化的速度。
Solidity 具有以下两个显著特征(纯属笑谈,别太在意):
- 1、面向对象:学会之后能挣钱去找对象
- 2、在币圈混:不会 Solidity ,在圈内显得是那么 low,“瞧,那家伙不会 Solidity,还想混币圈!”
在线编辑器 remix
工欲善其事,必先利其器。
这句话是很有道理的,不管做什么事或在学习新事物,都要准备好工具,学习新事物也是一样的。
打开浏览器,在地址栏输入remix.ethereum.org
打开后的默认界面,包含 Solidity 示例。首次打开可能没那么快,这毕竟国外的站点。
我们在当前工作空间新建一个 solidity 文件,注意,是以sol
作为文件的后缀名。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract MyToken{
string public webSite = "Welcome to qiucode.cn";
}
代码分析:
-
solidity 也和大多数编程一样,也是使用
//
作为程序的注释,而本实例中的第一行其实是表明该合约所用的软件许可(license),这里用的是MIT license。如果不写许可,编译时会警告(warning),但程序可以运行。// SPDX-License-Identifier: MIT
-
而第 2 行 则声明了合约所使用的 solidity 版本,毕竟 solidity 正处于发展阶段,更新迭代比较频繁,不同的版本之间各有差异。这行代码意思是源文件将不允许小于 0.8.7 版本或大于等于 0.9.0 版本的编译器编译(第二个条件由
^
提供)。Solidity 语句以分号(;)结尾。pragma solidity ^0.8.7;
-
第3-4行是合约部分,第3行创建合约(contract),并声明合约的名字 MyToken。第4行是合约的内容,我们声明了一个string(字符串)状态 webSite,并给他赋值 “Welcome to qiucode.cn”。
contract MyToken{ string public webSite = "Welcome to qiucode.cn"; }
编译需要点时间,直到出现了绿色小图标,就说明编译成功了。
现在可以不受测试下看看效果如何。
更多推荐
所有评论(0)