以太坊event log查詢與解析

查詢event log

ethereum json-rpc文檔的文檔中找到一個(gè)同時(shí)指定多個(gè)事件以 OR 或者 AND 查詢的方法.以下是查詢 Approval 或 Transfer 事件的方法:

{
    "jsonrpc":"2.0",
    "method":"eth_getLogs",
    "params":[{
        "topics":[["0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]],
        "address": "0xa7f6c9a5052a08a14ff0e3349094b6efbc591ea4",
        "fromBlock": "0x499a",
        "toBlock": "0x18999"
        
    }],
    "id":74
}

topics字段中指定查詢條件的語(yǔ)法參考上面鏈接绿贞。

ERC20代幣交易詳情解析

通過getTransactionReceipt在ropsten測(cè)試網(wǎng)上查詢到交易號(hào)為0x7e9eaf019928b7f8cf6f5fafa626a58d477f4800054f7101ffe941fda353abcb的交易詳情

{
    "jsonrpc": "2.0",
    "id": 74,
    "result": {
        "blockHash": "0xbc4dfb56410f28476ac6dbdaf68513a4b01ac0084fb21cc81b6803bd956d6365",
        "blockNumber": "0x81b4",
        "contractAddress": null,
        "cumulativeGasUsed": "0xca9d",
        "from": "0xdb33dfd3d61308c33c63209845dad3e6bfb2c674",
        "gasUsed": "0xca9d",
        "logs": [
            {
                "address": "0xa7f6c9a5052a08a14ff0e3349094b6efbc591ea4",
                "topics": [
                    "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                    "0x000000000000000000000000db33dfd3d61308c33c63209845dad3e6bfb2c674",
                    "0x0000000000000000000000006f2a8ee9452ba7d336b3fba03cac27f7818aead6"
                ],
                "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000",
                "blockNumber": "0x81b4",
                "transactionHash": "0x7e9eaf019928b7f8cf6f5fafa626a58d477f4800054f7101ffe941fda353abcb",
                "transactionIndex": "0x0",
                "blockHash": "0xbc4dfb56410f28476ac6dbdaf68513a4b01ac0084fb21cc81b6803bd956d6365",
                "logIndex": "0x0",
                "removed": false
            }
        ],
        "logsBloom": "0x0000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000010000000000000000000001000000200000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000020002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000",
        "root": "0xb6824b5b1ff9cab405435d9735dfe3971755b78b955c957b96adfe96a0552217",
        "to": "0xa7f6c9a5052a08a14ff0e3349094b6efbc591ea4",
        "transactionHash": "0x7e9eaf019928b7f8cf6f5fafa626a58d477f4800054f7101ffe941fda353abcb",
        "transactionIndex": "0x0"
    }
}

這個(gè)交易從"from": "0xdb33dfd3d61308c33c63209845dad3e6bfb2c674"發(fā)送到合約地址"to": "0xa7f6c9a5052a08a14ff0e3349094b6efbc591ea4".這個(gè)合約為ERC20代幣合約.從topics的第一個(gè)元素可以看出合約中產(chǎn)生了Transfer事件(topics第一個(gè)元素一定是事件的keccak哈希). topics的第二個(gè)字段是轉(zhuǎn)出代幣的地址丝里,第三個(gè)字段是接收者地址.ERC20代幣Transfer事件的簽名為

event Transfer(address indexed from, address indexed to, uint tokens);

我們注意到Transfer事件的第一個(gè)和第二個(gè)參數(shù)被標(biāo)記為indexed, 因此他們的值被放在 topics array 中. 由于tokens參數(shù)沒有標(biāo)記為indexed, 所以他的值被放在data字段. 如果事件中有多個(gè)字段未標(biāo)記為indexed陈瘦, 那么他們的值都會(huì)被記錄在data字段中技掏。

參考鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末幔崖,一起剝皮案震驚了整個(gè)濱河市滋迈,隨后出現(xiàn)的幾起案子罪郊,更是在濱河造成了極大的恐慌版确,老刑警劉巖扣囊,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異绒疗,居然都是意外死亡侵歇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門吓蘑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惕虑,“玉大人,你說我怎么就攤上這事磨镶±D瑁” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵棋嘲,是天一觀的道長(zhǎng)酒唉。 經(jīng)常有香客問我,道長(zhǎng)沸移,這世上最難降的妖魔是什么痪伦? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任侄榴,我火速辦了婚禮,結(jié)果婚禮上网沾,老公的妹妹穿的比我還像新娘癞蚕。我一直安慰自己,他們只是感情好辉哥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布桦山。 她就那樣靜靜地躺著,像睡著了一般醋旦。 火紅的嫁衣襯著肌膚如雪恒水。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天饲齐,我揣著相機(jī)與錄音钉凌,去河邊找鬼。 笑死捂人,一個(gè)胖子當(dāng)著我的面吹牛御雕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滥搭,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼酸纲,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了瑟匆?” 一聲冷哼從身側(cè)響起闽坡,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脓诡,沒想到半個(gè)月后无午,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祝谚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年宪迟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片交惯。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡次泽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出席爽,到底是詐尸還是另有隱情意荤,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布只锻,位于F島的核電站玖像,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏齐饮。R本人自食惡果不足惜捐寥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一笤昨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧握恳,春花似錦瞒窒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至束昵,卻和暖如春拔稳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锹雏。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工壳炎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逼侦。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像腰耙,于是被迫代替她去往敵國(guó)和親榛丢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Re-Entrancy重新入口 以太坊智能合約的一個(gè)特點(diǎn)是能夠調(diào)用和使用其他外部合約的代碼挺庞。合約也通澄蓿可以處...
    筆名輝哥閱讀 11,518評(píng)論 0 56
  • 原文:Smart contracts 正如我們?cè)赱intro]中看到的那樣,以太坊中有兩種不同類型的帳戶:外部擁有...
    Jisen閱讀 4,941評(píng)論 1 7
  • 寫在之前选侨, 由于不慎裝的版本比較高掖鱼,且初學(xué)對(duì)solidity也不熟,網(wǎng)上的教程現(xiàn)成的合約基用錢包本都未編譯通過援制。 ...
    中v中閱讀 1,217評(píng)論 0 1
  • (注:本文是在原文的基礎(chǔ)上戏挡,根據(jù)個(gè)人的理解,修改部分內(nèi)容并添加了一些注釋) 買賣部分代碼未調(diào)試通過 基礎(chǔ)版的代幣合...
    中v中閱讀 2,906評(píng)論 0 2
  • 01 七月初的鄭州艷陽(yáng)高照晨仑,七月末的鄭州陰雨連綿褐墅。故事的開始總是讓我難以接受,故事的結(jié)尾卻又讓我猝不及防洪己。 我習(xí)慣...
    Soul麥芽閱讀 1,321評(píng)論 15 25