《区块链DAPP开发入门、代码实现、场景应用》笔记2——Solidity实现简单的智能合约

简介: 通过阐述Solidity编程语言的API以及使用方式,使读者对智能合约编程有一个初步印象

 本节仅以一个简单的智能合约示例,介绍智能合约的基本组成元素,本合约定义一个uint类型的变量,以及对应这个变量的读写函数。

01     pragma solidity >=0.4.0 <0.6.0;                                     
02    
03     contract SimpleStorage {                                       //使用关键字contract定义合约结构体
04         uint storedData;                                                //定义一个变量
05    
06         function set(uint x) public {                                      //定义关于该变量的设置函数
07             storedData = x;                                       
08         }
09    
10         function get() public view returns (uint) {    //定义关于该变量的读取函数
11             return storedData;                                 
12         }
13     }
AI 代码解读

    代码第1行是指明语法解释使用的编译器版本;目前以太坊的智能合约虚拟机仍然在开发升级中,尚未有release版本,不同版本之间的API变动比较大,因此在编写智能合约时,必须指明合约逻辑使用的API的版本号;代码第3行通过contract关键字,声明了一个智能合约结构体,可以将该关键字与面向对象编程的class做类比,contract的设计模式和方法重载,父子继承等特性,与面向对象的设计非常接近,因此说Solidity作为一种高级的编程语言,极大的降低了对以太坊公链编程的难度,就像面向对象编程的Java语言比起汇编语言来讲,大幅降低了程序开发的门槛一样。

   代码第4行定义了一个成语变量,该变量的可见范围尽在constract的大括号之内;第6~7行代码定义了一个函数,该函数有可见范围的修饰符public,关于可见范围的详细解释放在第3章中,在此读者仅仅需要了解,该描述符说明该函数可以被区块链以外的系统通过Web 3.0接口调用,也可以通过以太坊内的其它智能合约调用。

代码10~12定义了一个读取函数,函数的可视范围也是public,但是这个函数因为没有修改区块链上的任何数据和状态,因此可以将该函数定义为view,类似于其他编程语言的readonly属性,同时在函数的最后定义了函数的返回类型

    这个智能合约相对简单,仅仅是将一个uint的数据保存在区块链分布式账本中的合约。任何账户都可以读写这个数据,本示例并没有对数据做任何访问限制,这意味着任何人,任何账户都可以读取和修改这个数据,在后面的章节中,会详细介绍数据的访问权限和安全性问题。

2020区块链各种应用都上马了,跟我一起学《区块链DAPP开发入门、代码实现、场景应用》吧。

19c39602dd538ac0

目录
打赏
0
0
0
0
5
分享
相关文章
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
智能合约与区块链技术的融合:重塑数字信任###
本文深入探讨了智能合约与区块链技术融合的现状、挑战与未来趋势。不同于传统摘要,本文以高度概括的形式,聚焦于两大核心要点:一是智能合约作为区块链上的自执行协议,如何通过代码自动化地促进信任最小化的交易;二是这种融合如何推动数字经济向更加透明、高效、安全的方向发展。全文围绕智能合约的工作原理、区块链提供的底层支持、以及两者结合所面临的技术与非技术挑战展开讨论,旨在为读者提供一个关于这一前沿技术领域的全面而深入的视角。 ###
探索区块链技术的未来:从数字货币到智能合约的演变
探索区块链技术的未来:从数字货币到智能合约的演变
揭秘区块链:以太坊智能合约开发的奥秘与挑战,你准备好迎接未来了吗?
【10月更文挑战第25天】本文介绍了区块链技术的基本概念及其核心特点,重点讲解了以太坊智能合约的开发流程和实际开发中的注意事项。通过安装 Truffle、Ganache 和 Remix 等工具,读者可以快速上手编写、编译、部署和测试智能合约。文章还对比了以太坊去中心化应用与传统集中式应用的优势和挑战,帮助读者全面了解以太坊智能合约开发。
80 0
《基于区块链技术的虚假新闻检测方法》文献阅读笔记+总结
《基于区块链技术的虚假新闻检测方法》文献阅读笔记+总结
73 0
探索区块链技术与智能合约开发的边界
随着信息技术的发展,区块链作为一种分布式数据库技术正深刻影响社会。本文探讨区块链基本原理及其在金融、供应链等领域的应用,并聚焦智能合约——一种自动执行且不可篡改的代码,介绍其开发流程与丰富案例。同时,文章分析了技术与法律层面面临的挑战,展望未来发展趋势。
82 4
链动未来:WPF与区块链的创新融合——从智能合约到去中心化应用,全方位解析开发安全可靠DApp的最佳路径
【8月更文挑战第31天】本文以问答形式详细介绍了区块链技术的特点及其在Windows Presentation Foundation(WPF)中的集成方法。通过示例代码展示了如何选择合适的区块链平台、创建智能合约,并在WPF应用中与其交互,实现安全可靠的消息存储和检索功能。希望这能为WPF开发者提供区块链技术应用的参考与灵感。
90 0
区块链 DAPP 互助逻辑模式系统开发技术方案[源码示例]
Dapp(Decentralized Application)是指不受任何中心化组织或机构控制的、使用特定区块链技术为基础的去中心化应用程序。Dapp 是一种特殊类型的应用,它可以在任何基于区块链技术的系统,例如 Ethereum、EOS 或其他的智能合约系统上运行。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等