比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > BNB > Info

Solidity中的事件和日志_ECO

Author:

Time:1900/1/1 0:00:00

Solidity事件對于智能合約開發者來說是不可或缺的,它允許我們對智能合約中特定變量進行測試,以自動化的方式改變前端等。總的來說,知道如何在Solidity中使用事件可以使智能合約的開發變得更加容易。

在本文,我們將從智能合約開發者的角度來研究以太坊虛擬機的日志和事件功能,包括日志和事件的用途,索引事件,以及如何在Hardhat和Brownie中使用日志和事件。

EVM是以太坊和許多其他區塊鏈的核心。EVM有一個日志功能,用于將數據“寫”到智能合約之外的數據結構中。其中一個重要的數據是Solidity事件。事件允許我們“打印”在區塊鏈上的信息,這種方式比在智能合約中保存到公共存儲變量更容易搜索,且更省gas費。

日志是區塊鏈上的一種特殊數據結構。它們不能被智能合約訪問,但能提供關于交易和區塊中發生的信息。正是因為它們不能被智能合約訪問,才使得它們的使用成本更低。

Sologenic推出SOLONEX和CBDC代幣化解決方案:金色財經報道,Sologenic是一家專注于區塊鏈代幣化技術的全球公司,宣布推出兩種解決方案:SOLONEX(資產代幣化經紀解決方案)和專門定制的CBDC代幣化解決方案。這些解決方案旨在促進金融交易和資產管理,旨在彌合傳統金融和數字金融之間的差距,“為機構、銀行和政府機構提供代幣化切入點”。Sologenic還宣布與Fireblocks建立戰略聯盟,Fireblocks是一個易于使用的平臺,“用于創建新的基于區塊鏈的產品并管理日常數字資產運營”。[2023/7/2 22:12:48]

你也可以觀看下面的關于Solidity中的事件和日志的視頻:

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

Snag Solutions向社區發起征求ApeCoin NFT市場建議:5月15日消息,據ApeCoin DAO官方論壇,ApeCoin DAO定制NFT市場開發公司Snag Solutions已發起征求ApeCoin社區對官方NFT市場的意見和建議。在名為《ApeCoin Marketplace Renewal》的帖子中,Snag Solutions創始人ZheerWagen透露,因Blur和OpenSea的市場競爭,從2022年12月到2023年2月期間,ApeCoin NFT市場只出售了4只Bored Apes、10只Mutants、16只Bored Ape Kennel Club Dogs和9 個Otherside元宇宙虛擬地塊Otherdeed。Snag Solutions希望社區可以評估是否需要改變版稅和費用策略以提高交易數量,是否應該將DAO產生的資金指向ThriveCoin以資助對DAO的貢獻,以及是否需要審核零費用P2P交易產品來降低欺詐風險。據悉,相關意見和建議的收集截止日期為5月17日。[2023/5/15 15:04:12]

那么,什么是事件呢?

Solana:網絡出現中斷情況,暫時無法處理交易:10月1日消息,據官方消息,Solana網絡出現中斷情況,暫時無法處理交易。目前,開發人員正全力診斷問題并重新啟動網絡,后續將公布具體信息。[2022/10/1 22:43:32]

事件允許我們輕松查詢在區塊和交易中發生的“東西”。如果你運行一個區塊鏈節點,你可以通過訂閱它們來“監聽”到某些事件。事實上,這就是Chainlink網絡的工作方式。Chainlink網絡在某些地址訂閱某些事件,并根據發出的事件內容,從現實世界返回數據。

事件能用來做什么?

現在,如果你不是Chainlink或Ethereum節點運營商,你可能會問事件對你有什么影響呢。通過Solidity事件,你可以做:

測試你的智能合約中的特定變量;

索引變量以重建存儲狀態;

Solana生態代幣發行平臺Solanium上線Solanium Swap:金色財經消息,Solana生態代幣發行平臺Solanium上線Solanium Swap,用戶可進行平臺內的代幣交易。[2022/5/23 3:34:42]

監聽事件用于改變前端狀態;

創建子圖以更快地讀取數據;

還可以完成其他許多事情。對工程師來說,事件有各種各樣的用例。事實上,事件是Chainlink節點運作的核心組成部分。Chainlink節點會監聽數據請求和外部計算事件,這正是是他們知道如何響應的根源。

事件是什么樣子的?

下面的數據結構就是在Solidity中定義一個事件的方式:

你可以把事件看作是一個新的特殊類型。我們已經創建了一個名為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文檔,從現在開始創作吧!。

Tags:SOLECOSOLAOLAsolana幣什么意思ecomi幣最新消息solana幣下半年solana幣最新消息

BNB
關於恢復EC充提業務的公告_COI

尊敬的用戶:EC節點維護完成,Hotcoin現已恢復EC的充值、提現業務。對您造成的不便深表歉意!感謝您對Hotcoin的支持與信任!HotcoinGlobal2022年2月11日Hotcoin.

1900/1/1 0:00:00
Gate.io HODL & Earn: Lock ARV To Earn 100% APR(Phase 3)

TheLockARV&Earn#3(term14days)willlaunchat8:00UTConFeb15atGate.io''s“HODL&Earn”section.

1900/1/1 0:00:00
幣安“質押借幣”平臺新增可借資產ALGO、NEAR_TER

親愛的用戶:幣安“ 質押借幣”平臺新增可質押資產ALGO、NEAR。注意:幣安會根據市場實際運行情況和風險程度動態調整可借幣種/質押幣種/利率/最大可借額度等參數.

1900/1/1 0:00:00
【獎勵發放】第三期合約交易大賽活動結束及獎勵發放的公告_TPS

尊敬的AAX用戶: AAX於2022年1月21日17:00-2022年1月28日17:00(UTC8)舉辦的“第三期合約交易大賽,參與瓜分50000USDT”活動現已圓滿結束.

1900/1/1 0:00:00
PearCoin正式上線GameFi鏈游幣AXS/USDT合約交易對_PEA

親愛的PearCoin用戶:PearCoin已于2021年12月20日18:00上線GameFi鏈游幣AXS。至此,雪梨大生態的梨宇宙篇章正式翻開新的一頁.

1900/1/1 0:00:00
關于本日21:00合約數據異常之用戶補償

尊敬的WEEX用戶您好!為優化合約模塊,我們的技術人員在今晚對服務器做優化,不慎造成BTC合約交易價格停止更新。事故影響時間約在21:00開始,10:52分已經恢復正常.

1900/1/1 0:00:00
ads