買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > 瑞波幣 > Info

atc:搞懂事件的使用,詳細解讀Solidity事件Event_ONT幣是什么幣

Author:

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

什么是事件Evnet?

就是以EVM日志基礎設備提供一個接口,當被事件調用時,出發參數存儲到日志中,其與合約地址關聯,并記錄到區塊鏈中。關系就是:區塊鏈是打包交易區塊組成的鏈條,每一個交易會包含0到多個記錄,日志代表智能合約所觸發事件。

DAPP中,監聽了事件,當事件發生時,會回調。當然要注意的就是,日志和事件在合約內是無法被訪問,即使是創建日志的合約。

在Solidity代碼中,使用event關鍵字來定義一個事件,如:

eventEventName(addressbidder,uintamount);

這個用法和定義函數式一樣的,并且事件在合約中同樣可以被繼承。觸發一個事件使用emit(說明,之前的版本里并不需要使用emit),如:

Daylight宣布完成300萬美元種子輪融資:金色財經報道,Web3獎勵信息聚合平臺Daylight宣布完成300萬美元種子輪融資。?該輪投資者包括 Framework Ventures、Chapter One、6?th?Man Ventures 和 OpenSea。?[2022/12/1 21:13:39]

emitEventName(msg.sender,msg.value);

觸發事件可以在任何函數中調用,如:

functiontestEvent()public{emitEventName(msg.sender,msg.value);}

監聽事件

Cardano原生代幣鑄造數量超700萬枚:11月27日消息,Cardano原生代幣Ada鑄造數量超700萬枚。根據pool.pm數據顯示,在65,652種不同的鑄造策略中,Ada鑄造數量共計7,055,456枚。

據悉,根據Cardano建設者IOG提供的最新統計數據,Cardano上已經啟動了106個項目,另有1146個項目處于不同的開發階段。此外,Indigo Protocol推出了IUSD穩定幣,據悉,IUSD是Cardano區塊鏈上的首款穩定幣。[2022/11/28 21:05:33]

通過上面的介紹,可能大家還是不清楚事件有什么作用,點擊”UpdataInfo”按鈕之后,雖然調用智能合約成功,但是當前的界面并沒有得到更新。使用事件監聽,就可以很好地解決這個問題,讓看看如何實現。

智能投顧平臺Betterment推出加密貨幣投資組合:10月12日消息,智能投顧平臺Betterment與加密貨幣交易所Gemini合作推出四個加密貨幣投資組合,四個投資組合包含的加密貨幣均為在Gemini上市的代幣,包含了元宇宙和DeFi領域。新的投資組合將直接在托管投資賬戶中持有加密貨幣,這些工具將允許投資者購買由Betterment算法管理的賬戶。此外,投資組合份額可以在交易所進行交易。(華爾街日報)[2022/10/12 10:32:50]

修改合約,定義事件及觸發事件

先回顧一下合約代碼:

pragmasolidity^0.4.21;contractInfoContract{stringfName;uintage;functionsetInfo(string_fName,uint_age)public{fName=_fName;age=_age;}functiongetInfo()publicconstantreturns(string,uint){return(fName,age);}}

神秘巨鯨以 200 萬塊移動了 27 億只狗狗幣:金色財經報道,DogeWhaleAlert報道,上周匿名巨鯨以200萬個區塊轉移了 27億只狗狗幣。在他們轉移這些Dogecoin時,總共有大約90筆交易,總費用僅為142 DOGE(約9美元)。

上周,眾所周知,特斯拉創始人Elon Musk恢復了他暫停的以 440 億美元收購 Twitter 巨頭的交易。自今年早些時候馬斯克建議實施 DOGE作為Twitter Blue訂閱的支付選項以來,這一消息引發了對狗狗幣的新一波興趣。[2022/10/11 10:30:26]

首先,需要定義一個事件:

eventInstructor(stringname,uintage);

這個事件中,會接受兩個參數:name和age,也就是需要跟蹤的兩個信息。

然后,需要在setInfo函數中,觸發Instructor事件,如:

functionsetInfo(string_fName,uint_age)public{fName=_fName;age=_age;emitInstructor(_fName,_age);}

在web3與智能合約交互實戰時,點UpdataInfo按鈕之后,會調用setlnfo函數,觸發Instructor事件。

使用Web3監聽事件,刷新UI

現在需要使用Web3監聽事件,刷新UI。先回顧下之前的使用Web3和智能合約交互的代碼:

<script>if(typeofweb3!=='undefined'){web3=newWeb3(web3.currentProvider);}else

{web3=newWeb3(newWeb3.providers.HttpProvider("http://localhost:7545"));}web3.eth.defaultAccount=web3.eth.accounts;varinfoContract=web3.eth.contract(ABIINFO);varinfo=infoContract.at('CONTRACTADDRESS');info.getInfo(function(error,result){if(!error){$("Billions項目組button").click(function(){info.setInfo($("Billions項目組age").val());});</script>

現在可以不需要info.getInfo()來獲取信息,而改用監聽事件獲取信息,先定義一個變量引用事件:

varinstructorEvent=info.Instructor();

然后使用.watch()方法來添加一個回調函數:

instructorEvent.watch(function(error,result){if(!error){$("#info").html(result.args.name+'('+result.args.age+'yearsold)');}else{console.log(error);}});

Tags:atc區塊鏈ONTatc幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢ONT幣是什么幣

瑞波幣
比特幣:Block Books 在 2023 年第一季度的比特幣毛利潤為 5000 萬美元_比特幣價格比特幣中國官網聯系方式

JackDorsey''sBlock于5月4日星期四發布了季度業績。這家金融科技公司在2023年第一季度的毛利潤為17.1億美元,同比增長32%.

1900/1/1 0:00:00
EOS:EOS智能合約的底子概述_區塊鏈

大家好,這里是鏈客區塊鏈技術問答社區。鏈客,轉為開發者而生,有問必答! 智能合約是在EOSIO節點上工作的軟件,它的耐久化數據存儲在節點的RAM中,動作事情存儲在區塊鏈上并同步.

1900/1/1 0:00:00
數字資產:Shiba Inu 冷錢包預購今天更新_數字資產類應用案例包括

即將推出的ShibaInu(SHIB)冷錢包在社區內引起了轟動。Shiba生態系統中的ShibaInu官方內容營銷專家Lucie在Twitter上分享說,Shiba持有者應該繼續關注,因為預計今.

1900/1/1 0:00:00
Solana:探索低價值高增長的加密貨幣投資機會_Solana幣是什么幣

隨著加密貨幣市場的不斷發展,越來越多的投資者開始關注低價值但潛在高增長的加密貨幣。這些加密貨幣可能提供了一個重要的投資機會,讓人們矚目.

1900/1/1 0:00:00
FTX:2 家公司退出加密貨幣!他們手中有這 12 種山寨幣!_全球十大加密貨幣USD幣

彭博社援引一位匿名人士的話說,由于對該行業的監管壓力加大,做市商JaneStreet和JumpTrading正在退出美國的加密貨幣交易.

1900/1/1 0:00:00
LUN:山寨幣Terra Classic「LUNC」見證了情緒的重大轉變:AI 是原因_LUN價格UNC幣

LUNC質押增加,網絡中的積極情緒也隨之增加。人工智能可能是這種飆升的主要原因,但投資者必須等待更長的時間才能看到牛市。幾個月前熱議的TerraClassic再次成為人們關注的焦點.

1900/1/1 0:00:00
ads