基于以太坊的智能合约开发Solidity(事件日志篇)

news/2024/11/15 2:14:49/
//声明版本号(程序中的版本号要和编译器版本号一致)
pragma solidity ^0.5.17;
//合约
contract EventTest
{//状态变量uint public Variable;//构造函数constructor() public{Variable = 100;}event ValueChanged(uint newValue);  //事件声明event Log(string, uint);//调用该函数,修改状态变量的值并触发事件function setValue(uint newValue) public {Variable = newValue;emit ValueChanged(newValue);  //触发事件emit Log("New_Variable = ", newValue);  //记录日志}}

(1)事件用于记录在区块链上的特定活动,“emit ValueChanged(newValue);”语句的作用是触发ValueChanged事件(首先需要声明事件)。

①触发事件后会生成相应日志,上图黄框就是“emit ValueChanged(newValue);”语句产生的日志,其中“form”指的是触发事件的合约账户。

②事件主要是供外部应用程序监听,外部应用程序可以监听事件以获取合约中特定活动的通知

(2)日志的作用是在智能合约中记录重要信息,“emit Log("New_Variable = ", newValue);”语句的作用就是生成一个日志(同样需要先声明,日志可以由字符串、整型等数据类型组成),通过以太坊区块链浏览器或特定工具可以查看记录的日志信息。

(3)触发事件和记录日志实际上是同一件事,声明时使用关键字event,触发时使用关键字emit,只是二者的目的不同,事件名一般按照实际行为命名,而日志常声明为“Log”或“log”。


http://www.ppmy.cn/news/1268807.html

相关文章

API接口概念及实战应用|电商API接口的接入参数说明

API是应用程序编程接口的缩写,它是软件系统不同组成部分之间互相通信的约定。在这篇文章中,我们将从基础概念开始,然后通过一个实际的案例来详细解释API接口的使用方法。 一、什么是API接口? API接口是一种允许两个或更多软件应用…

想速成硬件工程师?请先学这50个电路

要说在电子工程师所有分类里,哪个岗位技术含量极高且不易被淘汰?那毫无疑问自然是硬件工程师,虽然工资略低于软件工程师,但技术在手,永远不怕没饭碗,所以越来越多人选择成为硬件工程师,那么想要…

总结一篇本地idea配合阿里云服务器使用docker

idea打包打镜像发到阿里云服务器 为什么写这篇文章呢,就是这一整套流程我在网上没有看到完整的,有完整的也是要收费才能看,所以自己摸索了,自己踩过坑,想让兄弟们不仅能白嫖,还不踩坑! 先说一…

社交网络分析1:起源发展、不同领域的应用、核心概念

社交网络分析1:社交网络相关定义和概念 写在最前面关于课程 社交网络、社交网络分析社交网络发展阶段(自己感兴趣)1. 社交网络的起源2. 社交网络的演变3. 社交网络的成熟4. 发展阶段补充和展望 2023社交大变革(自己感兴趣的点&…

六:Day05_Spring Security01

一、Spring Security引入 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制(认证和授权)框架。它是保护基于 Spring 应用程序的事实标准。 2. 认证授权 认证授权实现平台所有用户的身份认证与用户授权功能。 2.1 什么是用户认证 认证…

【算法与数据结构】455、LeetCode分发饼干

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:因为大饼干可以满足大胃口的孩子也必然可以满足小胃口的孩子,如果要尽可能的满足孩子的胃口…

mybatis与oracle数据库jdbcType类型对应关系

之前都是百度上搜的,各种对应的都有,总觉得有问题,最后直接通过跑代码查看了一下对应关系,我用的oracle是19c。 常见的对应关系如下 oracle类型jdbcTypeVARCHAR2JdbcType.VARCHARNVARCHARJdbcType.NVARCHARCHARJdbcType.CHARCLOB…

AV1编码技术分享:开启下一代视频编码时代

目录 导论 第一部分:AV1的背景与发展 1.1 视频编码的演进 1.2 AOMedia联盟的成立 第二部分:AV1编码技术的原理 2.1 AV1的压缩算法 2.2 自适应量化 2.3 多级运动矢量预测 2.4 色彩空间和位深度的提升 第三部分:AV1的特点与优势 3.1 …