专栏/Solidity开发基础——初识Solidity

Solidity开发基础——初识Solidity

2023年05月22日 08:52--浏览 · --点赞 · --评论
tiger老张
粉丝:415文章:12

开始之前

首先,我们先对Solidity有个初步的了解,即Solidity是什么?

让我们看一下官方的描述:

  1. Solidity是一种面向对象(合约)的,为实现智能合约而创建的高级编程语言;

  2. Solidity是一种针对以太坊虚拟机(EVM)设计的语言,它受到了C++、Python和JavaScript的影响;

  3. Solidity是一种静态类型语言,支持复杂的用户定义编程,支持库和继承。

合约样例

下面是一个简单的合约例子,我们用来演示如何用Solidity编写一个简单的智能合约。

合约结构

版权许可

版本许可位于源文件中的第1行,用于定义合约的版权许可标识。虽然不是强制的,但我们建议在每个源文件中都应该以这样的代码开始,来说明合约的版权许可证。如果你不想指定一个许可证,或者如果源代码不开源,请使用特殊值 UNLICENSED

版本标识

版本标识位于源文件中的第2行,用于定义Solidity的版本,其中 pragma 是定义版本标识的关键字。

这行代码表示不允许低于 0.8.7 版本的编译器编译,也不允许高于 0.9.0 的编译器编译,即使用的编译器版本介于 0.8.7 与 0.9.0之间。

Solidity编译器版本规范如下:

序号版本规范说明1^0.5.1指定的主版本号下所有更新的版本。即匹配 0.5.1 ~ 0.6.0 之间的版本2~0.5.1指定的主版本号与次版本号下所有更新的版本。即匹配 0.5.1 ~ 0.5.9 之间的版本3>=0.5.1版本号大于等于0.5.1,匹配 >=0.5.1 的所有版本4<=0.5.1版本号小于等于0.5.1,匹配 <=0.5.1 的所有版本5x匹配所有版本60.5或0.5.x匹配指定主版本号与次版本号下的所有版本

截止到目前,Solidity的编译器版本已更新到 0.8.15。我们建议在编译部署合约时,应该尽量使用最新版本,因为新版本会有一些新特性以及bug修复。

合约类(对象)

在Solidity语言中,合约类似于其他面向对象编程语言中的类。contract 是定义合约类的关键字,HelloWorld 是合约名称。我们建议合约名称和本地文件名用同一个名称,且第一个字母大写。

合约还可以从其他合约继承,可以是一些特殊的合约,比如库(library)和接口(interface)。这些知识点我们会在后续的课程中讲解。

状态变量

这段代码中的 str 就是一个状态变量,它是一个永久存储在合约存储中的值。

函数

函数是合约代码的可执行单元,函数通常在合约内部定义。函数一般有以下几部分组成:

  • 函数名

  • 参数

  • 返回值

在样例代码中,我们定义了2个函数:

  • set():用于设置状态变量的值;

  • get():用于返回状态变量的值。

注释

合约中的注释有单行注释(//)和多行注释(/*...*/)两种,和C++的注释类似。

合约部署

我们推荐使用Remix来开发简单合约。

Remix 是一个合约开发和编译器,可以在线使用,而无需安装任何东西。

remix

我们在Remix中编译、部署和运行这个样例合约。执行结果如下图:

hello world



投诉或建议

玻璃钢生产厂家自制商场美陈昆明小品系列玻璃钢雕塑定做陕西景观园林玻璃钢彩绘雕塑厂家成都户内玻璃钢雕塑定制揭阳玻璃钢商场美陈商场时尚主题美陈玻璃钢雕塑口碑咸阳市玻璃钢雕塑三明玻璃钢仿真水果雕塑西藏玻璃钢动物雕塑北京装饰商场美陈费用长乐玻璃钢关公雕塑赣州景区玻璃钢雕塑批发邯郸玻璃钢浮雕镂空雕塑公司德州玻璃钢人物雕塑定做价格拓展玻璃钢雕塑卢湾区道路景观玻璃钢花盆揭阳公园玻璃钢雕塑延安玻璃钢雕塑制作厂家云南赣州市政玻璃钢花盆厂家镂空玻璃钢雕塑厂家深圳景观玻璃钢雕塑订做价格选购玻璃钢雕塑公司哪家好玻璃钢雕塑厂家合作公司江苏超市商场美陈费用安阳玻璃钢智能雕塑特色玻璃钢雕塑销售通化玻璃钢雕塑制作厂家玻璃钢公园雕塑怎么买鲁智深玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化