精品久久伊人99热超碰,中文字幕+乱码+中文乱码,亚洲 自拍 色综合图区,男女十八禁啪啪无遮挡床震,樱花草社区在线播放

以太坊的ABI編碼(以太坊ABI編碼簡介)?

278
okx
ABI是Application Binary Interface的縮寫,它定義了調(diào)用智能合約函數(shù)和合約之間函數(shù)調(diào)用的消息編碼格式。類似于Webservice中的SOAP協(xié)議,ABI指定了操作函數(shù)簽名、參數(shù)編碼和返回結(jié)果編碼等接口說明。

使用ABI協(xié)議時必須強(qiáng)制要求類型在編譯時已知。編譯完成后,智能合約的abi接口定義就確定了,例如智能合約生成的字節(jié)碼和abi定義??筛鶕?jù)abi定義生成調(diào)用智能合約函數(shù)的abi格式的數(shù)據(jù)。

函數(shù)調(diào)用的前四個字節(jié)數(shù)據(jù)指定了要調(diào)用的函數(shù)簽名,計算方式是使用函數(shù)簽名的keccak256哈希取四個字節(jié)。如果函數(shù)名有多個參數(shù),需要用逗號隔開,并去掉表達(dá)式中的所有空格。在geth客戶端通過命令可以得到函數(shù)簽名的哈希值。函數(shù)的返回結(jié)果類型可以是任何類型,例如布爾值。

對于固定大小的類型(例如uint256和bytes10),值可以直接編碼。對于動態(tài)內(nèi)容類型(例如uint32[]和bytes),需要先編碼偏移值,即整個值編碼的開始到真正存這個數(shù)據(jù)的偏移值,然后按順序編碼值。除了bytes和string,其他類型的數(shù)據(jù)少于32字節(jié)的需要補(bǔ)0以達(dá)到32字節(jié)長度。動態(tài)長度的編碼規(guī)則在后面的例子中介紹。

綜上,ABI協(xié)議是智能合約與外部世界的橋梁,使得外部應(yīng)用程序可以方便地與智能合約進(jìn)行交互。

歐易

歐易(OKX)

用戶喜愛的交易所

幣安

幣安(Binance)

已有賬號登陸后會彈出下載

進(jìn)群交流|歐易官網(wǎng)