火星链 火星链
Ctrl+D收藏火星链
首页 > 币安下载 > 正文

SOL:Solidity中的事件和日志-ODAILY

作者:

时间:1900/1/1 0:00:00

Solidity事件对于智能合约开发者来说是不可或缺的,它允许我们对智能合约中特定变量进行测试,以自动化的方式改变前端等。总的来说,知道如何在Solidity中使用事件可以使智能合约的开发变得更加容易。

在本文,我们将从智能合约开发者的角度来研究以太坊虚拟机的日志和事件功能,包括日志和事件的用途,索引事件,以及如何在Hardhat和Brownie中使用日志和事件。

EVM是以太坊和许多其他区块链的核心。EVM有一个日志功能,用于将数据“写”到智能合约之外的数据结构中。其中一个重要的数据是Solidity事件。事件允许我们“打印”在区块链上的信息,这种方式比在智能合约中保存到公共存储变量更容易搜索,且更省gas费。

日志是区块链上的一种特殊数据结构。它们不能被智能合约访问,但能提供关于交易和区块中发生的信息。正是因为它们不能被智能合约访问,才使得它们的使用成本更低。

Solana CEO:以太坊作为Solana L2解决方案的想法非常合理:金色财经报道,Solana Labs联合创始人兼首席执行官Anatoly Yakovenko表示,尽管存在局限性和潜在风险,但使用以太坊作为Solana区块链第二层解决方案的想法非常合理。

通过技术合作,潜在L2网络中Solana资产的所有者“将得到最终确定性的保证,即使在双重支出的情况下也能够返回协议。为了实现这个想法,需要在Solana中同步有关以太坊交易的信息,并发送简化支付验证根以确认验证者之间的共识。并且为了消除协议中可能出现的错误,需要配置“网桥超时”。然而,Yakovenko指出,在这种情况下,只有将资产存储在另一个区块链上才是安全的。登陆服务和流动性支持具有很大的危险,因为以太坊的故障会对主网络产生负面影响。[2023/7/4 22:15:58]

你也可以观看下面的关于Solidity中的事件和日志的视频:

https://www.bilibili.com/video/BV1iL4y1s7ro?spm_id_from=333.999.0.0

Coinbase:Solana币提款延迟的问题已经解决:7月7日消息,加密货币交易所Coinbase:Solana币提款延迟的问题已经解决。

此前消息,Coinbase正在调查Solana币提款延迟问题。(金十)[2022/7/8 1:59:05]

那么,什么是事件呢?

事件允许我们轻松查询在区块和交易中发生的“东西”。如果你运行一个区块链节点,你可以通过订阅它们来“监听”到某些事件。事实上,这就是Chainlink网络的工作方式。Chainlink网络在某些地址订阅某些事件,并根据发出的事件内容,从现实世界返回数据。

事件能用来做什么?

现在,如果你不是Chainlink或Ethereum节点运营商,你可能会问事件对你有什么影响呢。通过Solidity事件,你可以做:

测试你的智能合约中的特定变量;

索引变量以重建存储状态;

Solana官推更名为“Solano”,或为回应Jack Dorsey拼写错误刻意调整:金色财经报道,Solana官方社交媒体账户已更名为“Solano”,有传言显示,Solana此举可能是由于前 Twitter 首席执行官 Jack Dorsey 将其名称拼写错误有关,更名对其进行回应。Jack Dorsey 此前发文回应加密社区用户关于“Web5如何实现去中心化”问题时表示,Web3依然存在单点故障问题“比如Solano”。[2022/6/12 4:19:59]

监听事件用于改变前端状态;

创建子图以更快地读取数据;

还可以完成其他许多事情。对工程师来说,事件有各种各样的用例。事实上,事件是Chainlink节点运作的核心组成部分。Chainlink节点会监听数据请求和外部计算事件,这正是是他们知道如何响应的根源。

事件是什么样子的?

下面的数据结构就是在Solidity中定义一个事件的方式:

Solana Labs联合创始人:Solana无意也无法扼杀以太坊:11月12日消息,虽然由于Solana(SOL)费用更低、交易更快,许多专家将其称为“以太坊杀手”,但Solana Labs联合创始人Raj Gokal表示,Solana无意扼杀以太坊——而且就算真的这么做了,也无法实现。Gokal近日在推特上回应风险投资公司Placeholder联合创始人Chris Burniske时强调“这并不一定是一场战斗“,因为他认为所有从事加密领域工作的人的目标应该是让“每个人”都能进入Web 3.0,并指出:“我们并未试图扼杀以太坊。以太坊不会被扼杀,这是不可能的。它已经是世界上一种美丽的善之力量,赋予数百万人权力,并创造数十亿的财富,比特币显然也是如此。”(Cointelegraph)[2021/11/12 21:45:37]

动态 | 日本证券通证协会与卢森堡安全平台运营商Tokeny Solutions合作:日本证券通证协会(JSTA)与卢森堡安全平台运营商Tokeny Solutions达成协议,以改善日本的证券型代币生态系统。在未来,双方将与日本的金融机构(例如银行和证券公司)以及监管机构合作,以扫除证券型代币的发展障碍。(BraveNewCoin)[2019/11/23]

你可以把事件看作是一个新的特殊类型。我们已经创建了一个名为storedNumber的事件“类型”。事件的名字叫storedNumber,可以容纳一些变量。在这个事件中,有两种参数:有索引的和无索引的。索引参数也被称为“主题”,是事件中的可搜索参数。我们会在后文更多地谈及这些内容。

然后我们可以像下面这样发出一个事件:

下面是一个完整的合约实例:

现在,只要我们调用这个例子中的store函数,它就会发出一个storedNumber类型的事件。让我们看看一个调用store函数、输入为1的示例交易。我们可以在KovanEtherscan上看到这个事务。

滚动到交易的“日志”部分,我们可以看到以下内容:

一个事件可以分解为:

Address:地址,发出事件的合约或账户的地址。

Topics:主题,事件的索引参数。

Data:数据,事件的非索引参数的ABI编码或“哈希”。由于我们知道合约的ABI,我们可以在“Dec”或“Decoded”模式下查看它,或者在其原始的“hex”、“Hexidecimal”或“Encoded”模式下查看。如果我们没有验证过合约,我们就无法看到解码的版本。

你可以在Solidity文档中阅读更多关于事件的内容。“日志”和“事件”经常被互换使用,因为作为智能合约的开发者,我们通常只关心日志中的“事件”。然而,从技术上讲,日志也包括blockhash、address,以及通过调用eth_getLogs返回给你的区块链节点的其他数据。你也可以阅读更多有关布隆过滤器的内容,这是这些事件能被简单查询到的原因。

Hardhat中的事件

现在我们已经了解了什么是事件,让我们学习如何在Hardhat中访问并使用它们。你可以克隆下面的repo,然后跟着操作:

gitclonehttps://github.com/PatrickAlphaC/hardhat-events-logs

cdhardhat-events-logs

你需要跟着README.md中的说明完成依赖工具的安装,其中包括Node、Yarn和Git。

如果你跟着README.md操作,你将能够:

部署一个智能合约;

创建一个发出事件的交易;

查看这些事件的上下文。

如果你在这一过程中遇到问题,请在Githubrepo上新建一个Issue!我们可以通过检查transactionReceipt对象的logs属性来查看日志。

Brownie中的事件

Brownie中的事件几乎是相同的,因为合约是完全相同的。

你可以克隆下面的repo,然后跟着操作:

你需要跟着README.md中的说明完成依赖工具的安装,其中包括Node、Python、eth-brownie和Git。

如果你跟着README.md操作,你将能够:

部署一个智能合约;

创建一个发出事件的交易;

查看这些事件的上下文。

如果你在这一过程中遇到问题,请在Githubrepo上新建一个Issue!你会发现这里的主要区别是,我们使用打印语句来打印出事务的日志:

总结

日志和事件是智能合约开发的重要组成部分,也是Chainlink和TheGraph等项目的关键基础设施。要想了解更多关于开发强大的智能合约的信息,请务必前往查看Chainlink文档,从现在开始创作吧!。

标签:SOLOLASOLALANAsolana币什么意思Dolaimi Universalsolana币挖矿solana币的最新价格

币安下载热门资讯
UIN:浅谈Curve:最强大的稳定币兑换协议-ODAILY

简介Curve协议,一种基于以太坊平台的去中心化交易所,主要聚焦于稳定币、封装资产等的交易。相对于其他DEX,Curve提供的交易对更集中,拥有极低的滑点和手续费,可以满足巨额的资产交易需求.

1900/1/1 0:00:00
APE:从比特币极简主义到现实主义的转变-ODAILY

曾经有一段时间,所有加密货币都与比特币(BTC)进行交易。当投机者看到可靠的代币经济学或有希望的炒作时,他们会冒险进入其他代币,但比特币是他们选择的结算代币。事情变了.

1900/1/1 0:00:00
tron:波场版稳定币本周日均转账额突破82亿美元-ODAILY

根据区块链浏览器TRONSCAN数据,过去一周,波场版稳定币日均转账额为8,208,774,620美元,突破82亿美元.

1900/1/1 0:00:00
QUO:一文了解波卡中的NFT都有哪些创新?-ODAILY

“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战.

1900/1/1 0:00:00
Qredo:Qredo愿景:去中心化托管及其他-ODAILY

愿景:去中心化私钥Qredo的设计理念植根于认识到困扰加密市场的两个最重要的问题——安全性差和流动性分散——源于一个怪癖:私钥的集中管理。这使得机构难以进入生态系统,并启用了广泛的黑客目录.

1900/1/1 0:00:00
DAN:Dank DAO:一个新的加密部落-ODAILY

DankDAO前言自从去年10月Dank协议推出以来,我们遇到了来自世界各国和地区的许多密码爱好者。大家聚集在一起是因为有共同的信仰。我们看到了不同文化、不同思想的碰撞,也看到了创新的火花.

1900/1/1 0:00:00