《区块链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     }

    代码第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

相关文章
|
8天前
|
存储 安全 分布式数据库
探索区块链技术在数据安全中的应用
【10月更文挑战第21天】 本文深入探讨了区块链技术在增强数据安全性方面的应用。通过对区块链基本原理的解释,结合其在数据存储、传输和访问控制中的具体实现方式,本文揭示了区块链技术如何有效防止数据篡改和未授权访问。此外,文章还讨论了区块链技术面临的挑战及其未来发展趋势,为读者提供了一个全面了解区块链技术在数据安全领域应用的视角。
29 4
|
23天前
|
供应链 数据可视化 物联网
新技术趋势与应用:区块链、物联网与虚拟现实的融合与创新
本文深入探讨了当前最具变革性的新兴技术——区块链、物联网(IoT)和虚拟现实(VR)的发展趋势及其应用场景。通过分析这些技术的基本原理、独特优势以及实际用例,揭示了它们如何相互促进、融合创新,并共同塑造未来智能化世界的蓝图。文章旨在为读者提供对新技术趋势的全面理解,展现其在不同领域中的广泛应用前景,以及这些技术如何共同推动社会进步和产业升级。
|
1天前
|
供应链 区块链
探索区块链技术在供应链管理中的应用
【10月更文挑战第28天】 本文深入探讨了区块链技术如何革新传统的供应链管理系统,通过提供一个去中心化、透明且不可篡改的数据记录平台,来增强整个供应链的透明度和效率。文章首先介绍了区块链技术的基本原理及其核心特性,随后分析了当前供应链管理面临的主要挑战,并详细讨论了区块链技术在解决这些问题中的潜在作用。通过具体案例分析,本文展示了区块链技术在实际供应链管理中的应用效果,包括提高数据透明度、降低运营成本、增强供应链各环节之间的信任等方面。最后,文章还探讨了实施区块链解决方案时可能遇到的技术与非技术障碍,并对未来区块链技术在供应链领域的发展趋势进行了展望。
12 2
|
6天前
|
人工智能 供应链 安全
探索区块链技术的奥秘与应用
在数字化浪潮中,区块链技术以其独特的去中心化、不可篡改和透明性特点,正逐渐改变着我们的世界。本文旨在深入浅出地解析区块链技术的基本原理,探讨其在金融、供应链管理、版权保护等领域的创新应用,并展望未来发展趋势,为读者揭开这一神秘面纱背后的真实面貌。
|
9天前
|
安全 物联网 区块链
探索未来:区块链技术在物联网和虚拟现实中的融合应用
【10月更文挑战第21天】本文深入探讨了区块链、物联网(IoT)和虚拟现实(VR)这三项前沿技术的发展趋势,并分析了它们如何相互作用以推动创新。我们将通过具体案例来揭示这些技术如何改变我们的工作和生活方式,同时提供对未来发展的一些预测。
|
12天前
|
存储 供应链 监控
如何在供应链行业中应用区块链
【10月更文挑战第26天】区块链在供应链行业的应用包括提高透明度、优化流程、增强安全性和改善金融服务。具体表现为全流程信息记录与追溯、智能合约自动化执行、数据安全与隐私保护、应收账款融资及信用评估等,促进供应链的高效协同与信任建设。
|
10天前
|
供应链 物联网 区块链
未来技术浪潮之巅:区块链、物联网与虚拟现实的应用探索
【10月更文挑战第20天】随着技术的飞速发展,新兴技术如区块链、物联网和虚拟现实正在重塑我们的工作和生活方式。本文将深入探讨这些技术的发展趋势和应用场景,并展示如何通过代码示例实现它们在现实世界中的应用。让我们一起揭开这些技术神秘面纱,探索它们在未来的无限可能!
|
23天前
|
传感器 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【10月更文挑战第7天】随着科技的飞速发展,新兴技术如区块链、物联网、虚拟现实等正在逐渐改变我们的生活。本文将对这些新兴技术的发展趋势和应用场景进行探讨,并结合代码示例,帮助读者更好地理解这些技术的应用价值和未来发展方向。
|
21天前
|
存储 传感器 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用探索
【10月更文挑战第9天】随着技术的不断进步,区块链、物联网和虚拟现实等新兴技术正逐步渗透到我们的生活中。本文将探讨这些技术如何相互融合,共同推动社会的进步。我们将通过分析它们的发展趋势和应用场景,揭示它们在未来社会中的潜在价值。让我们一起思考如何利用这些技术创造一个更美好的世界。
|
1天前
|
供应链 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【10月更文挑战第29天】随着科技的飞速发展,新兴技术如区块链、物联网、虚拟现实等正逐渐改变我们的生活。本文将对这些技术的发展趋势和应用场景进行深入探讨,以期为读者提供一个全新的视角来理解这些技术的价值和应用前景。
11 0

热门文章

最新文章