基础智能合约第一讲(智能合约介绍)

1、学习本套课程后,你能收获什么?

学习本教程后,你将会使用solidity语言编写一些小的智能合约,达到对智能合约的一个入门级的要求水平。通过本教程可以使大家关于智能合约方面的兴趣增加,后面可以通过自主学习,或是我们高级课程,在智能合约这条路上更进一步。也就是我们本套教程是基础课程。适合智能合约小白人员。

2、 智能合约是什么?

智能合约并非现实中常见的合同,而是存在区块链上,可以被触发执行的一段程序代码,这些代码实现了某种预定的规则,是存在于区块链执行环境中的“自治代理”。智能合约需要被触发,代码才会执行,不被触发他的状态将会始终保持一个状态,并且部署后的智能合约将不可被修改。智能合约语言的语法和js脚本语言很像,因此有过js开发经验的小伙伴们学习起来会很快。

3、 学习了智能合约后我们可以做什么?

我们将可以作为区块链应用的底层人员,来完成开发任务,智能合约是去中心化应用的核心关键部分。如果抽象来讲,智能合约是应用程序的数据库以及服务器。

4、 编程工具的介绍。

我们都知道“预先善其事、必先利其器”的道理,现实中织布是需要织布机才能完成织布,同样的我们的智能合约学习也是要有编程工具的使用的。我们本套课程都将以 remix 为编程工具进行讲解课程。remix 就是我们手里的织布机,能织出什么布就看我们这些使用 remix 的程序员了。
地址为http://remix.ethereum.org/ 可以直接在浏览器中开发,很方便,只要有一个 google chrome 谷歌浏览器就可以开发了。

remix 有几个主要的常用面板,分别是文件面板、编译器、运行器、以及占用最大一部分的文本编辑器组成。

文件面板:我们可以在这个面板进行创建文件、选择文件等管理文件的操作。
编译器:我们可以将sol文件进行编译,编译不通过将不能执行合约,并且可以得到code.json以及abi.json。我们可以将他们在支持sol语言的公链上运行。
运行器:可以将sol智能合约部署在eth链上,并且能对合约的方法进行调用等操作。
文本编辑器:我们的代码就是写在这个位置的,后面基本大部分时间你将面对的是这个页面。

5、 我的第一个智能合约程序

下面的智能合约是我们第一个合约程序,因此我们命名为 “FirstContract.sol” 文件名

pragma solidity ^0.6.0;

// first contract
contract FirstContract {
    // first method
    function firstMethod() public pure returns (string memory) {
        return 'I am first method !!!';
    }
}

上面代码很多小伙伴应该不是很懂什么意思,不懂没关系,我来给大家一行一行讲解。

pragma solidity ^0.6.0;

这一行是说明使用solidity 0.6.0版本写的,可以运行在0.6.0到0.7.0之间的版本上。

contract FirstContract {

这一句是定义一个叫 FirstContract 名称的合约。

function firstMethod() public pure returns (string memory){

这一行是定义一个方法叫做 firstMethod, 该方法有返回值,类型是 string 类型的。

return 'I am first method !!!';

这一行是这个方法将会返回 “I am first method !!!”。

看起来可能还是会有小伙伴们有不明白的地方,但是我们先只教这么多,关于什么是string,string 就是字符串的意思,字符串你就可以当作是任意的abcde这些字母等还有标点符号写在了单引号或者双引号中。这就是字符串最通俗易懂的解释了,小伙伴们,大家可以动手试试自定义一些字符串让他返回。

6、 智能合约部署

小伙伴们目前应该在当前页面吧!
基础智能合约第一讲(智能合约介绍)_第1张图片

我们点击solidity按钮,进入solidity。

基础智能合约第一讲(智能合约介绍)_第2张图片

老师在这里创建了 FirstContract.sol文件,然后文件内容是上面的代码。下面我们将他进行部署到ETH网络。
基础智能合约第一讲(智能合约介绍)_第3张图片
我们点击 firstMethod 按钮以后会在下面一点展示返回信息也就是(2)的位置,返回的就是我们定义的 “I am first method !!!” ,(3)是本次执行call信息,一般我们执行失败后,会通过这里就行查看错误,这里不过多赘述。

7、 本期作业

大家按照本节中的智能合约模仿进行部署属于你们的智能合约,要求:合约名称为 ConfluxTask,方法名为 creatorDesc,返回为 “My Creator is XXX !!!” XXX是你们自己的微信号。

示例:
基础智能合约第一讲(智能合约介绍)_第4张图片

8、 结束语

感谢小伙伴们阅读本文。有对conflux感兴趣的小伙伴可以添加我的微信(15832013094)或是龙老师微信(ye_pj2013),会拉大家进入conflux成神学院群。conflux成神学院所有课程永久免费,并且还有可能获得一定的外快,加入我们大家一起共同学习进步。

你可能感兴趣的:(区块链,智能合约)