[区块链&DAPP介绍 Day15] Solidity 教学 - events

今天来介绍一下 solidity 里面一个很特殊的东西 events

我们介绍了这几天,都还没有看到 solidity 提供的 logs 的使用法,solidity 的 logs 实现方法,就是要透过 events 来实现,当然 events 的功用不只这样的功能,可以透过跟 web3 的合作达到事件监听的作用,我们来看看下面范例。

//定义一个 log event
event log(
    string text
);

//定义一个 function
function Event() public {
    //透过emit 这样就可以触发 event
    emit log("log somethimg");
}

当然上面会有人说,把 log 储存在 state variables,就可以了,的确可以储存在变数上面。但是在区块链上,储存在上面的资料都是需要成本的,像 log 资讯,这种相对没那麽重要的资料,而且不需要变动的,就很适合透过 events 的机制去储存它,不过透过 events 储存的资料,不能够过 constract 去调用它,只能透过 web3.js 从外部去调用。後续我们会介绍 web3.js 的应用,也就是本系列的重点之一 Dapp 另一个重点。

明天我们来聊聊 solidity 最後几个重点 libraries 。


<<:  [职涯]留任还是离职?看完这篇後再做决定!

>>:  Unity自主学习(九):创建新专案

资安入门

资讯安全是透过安全管制措施来保护资讯资产免於受到危害,以达到机密性、完整性和可用性(即常听到的CI...

Unity与Photon的新手相遇旅途 | Day29-Unity 发布到Android手机上

今天的教学为教大家如何将Unity build完之後安装到Android手机上面测试。 ...

Day 01 Flask 是什麽

根据 程序语言社群 TIOBE 2021年8月发表的热门程序语言排行榜中,Python 在众多程序语...

Day 30 : 30天完赛总结 与 odoo15 新功能分享

30天完赛感想 想表达的很多,但能写出来的东西很少 事实证明,就算看小说看再多对文笔的帮助很有限 看...

Day5 开始Vue前要具备的基础

在开始前我们先来介绍一些看似基础但却很重要的工具吧。 var、let和const var、let、c...