2022智能合约开发指南(一)
前言
最近几年智能合约的发展很快,迭代也很快,有很多经典教程由于合约升级的问题已经无法运行起来。所以我决定去写一篇最新版的合约开发教程。在这个教程里我会聚焦到开发本身,不会阐述过多区块链的知识,因为区块链知识永不过时,也被很多大神讲的通透了。
所以我希望你在阅读这篇教程前了解区块链的基本知识(如公钥、私钥、gas等能知道大概是什么就可以),学过任意一门编程语言以便更快上手(不要求精通)。
什么是智能合约?
智能合约是运行在区块链网络上的一种承诺协议,它有如下特性:一旦执行则无法撤销和修改;一切写入记录皆可查询,无法造假;合约双方仅以链上地址表达身份,具备匿名性。
开发语言和开发环境
智能合约采用solidity语言开发,其语法类似Typescript,因此较为适合前端开发人员上手,很多大学都有JavaScript基础课,所以也较为适合大学生入门。
和其他语言一样,solidity也需要设置开发环境才能进行开发,如truffle、hardhat等,但是对新手来说,设置开发环境往往存在一定难度,直接把一部分潜在开发者拒之门外。所以在教程前期我将用一种在线开发环境来进行教学。
这个在线工具叫Remix,通过它可以访问远程运行环境,同时自带一个ide工具以便我们编写智能合约。
开发第一个合约吧
打开Remix链接,在左侧的workspace中会显示3个文件夹:
contracts solidity脚本(合约源码)scripts 合约部署脚本test 合约测试脚本我们先点开contracts文件夹,会发现里面有几个.sol文件,这个格式的文件就是solidity脚本文件。我们先无视或者删掉它们(右键点文件名选delete)。
现在我们右键选中contracts,选择new file创建新的合约文件HelloWorld.sol,然后在右侧输入如下代码,关键代码已加注释:
现在我们准备编译合约,生成它的二进制代码
如果合约没有错误,那么左侧第三个图标会显示一个对号。有错误的话,会有红字提示错误的位置和原因。
现在将合约部署到测试网上。
部署成功后,屏幕左下方会显示部署好的合约(0XD8B…33FA是合约的链上地址)
点击sayHello按钮,会调用合约的sayHello方法,输出结果”Hello”
小结
这就是一个最基础的合约编写、部署和交互的过程,是不是不难。
下一课我们会继续扩展这个合约,学习更多的知识点。
该文章未经许可,禁止转载,谢谢。
发表回复