亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

以太坊賬戶類型怎么判斷

發布時間:2022-01-15 14:49:06 來源:億速云 閱讀:152 作者:iii 欄目:互聯網科技

本篇內容介紹了“以太坊賬戶類型怎么判斷”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

以太坊中有兩類賬戶,它們共用同一個地址空間。

  • 外部賬戶,該類賬戶被公鑰-私鑰對控制(人類)。

  • 合約賬戶,該類賬戶被存儲在賬戶中的代碼控制。

外部賬戶的地址是由公鑰決定的,合約賬戶的地址是在創建該合約時確定的。

合約賬戶存儲了代碼,外部賬戶則沒有,除了這點以外,這兩類賬戶對于EVM來說是一樣的。 每個賬戶有一個key-value形式的持久化存儲。其中key和value的長度都是256比特,名字叫做storage.

另外,每個賬戶都有一個以太幣余額(單位是“Wei"),該賬戶余額可以通過向它發送帶有以太幣的交易來改變。

web3實現

使用web3.eth.getCode()方法可以判斷一個給定的地址的賬戶是外部賬戶,還是合約賬戶。這個函數返回指定地址的代碼,由于外部賬戶沒有代碼,因此僅僅會返回0x,而合約賬戶將會返回0x開頭的16進制代碼字符串。例如:

var code = web3.eth.getCode("0xd5677cf67b5aa051bb40496e68ad359eb97cfbf8")
if(code === '0x') console.log('外部賬戶')
else console.log('合約賬戶')

在solidity中實現

在合約內,可以使用EVM匯編代碼來獲取指定地址處的代碼大小,顯然,普通賬戶地址將返回0

contract EzDemo {
    function isContract(address addr) returns (bool) {
    uint size;
    assembly { size := extcodesize(addr) }
    return size > 0;
  }
}

“以太坊賬戶類型怎么判斷”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿克陶县| 阿拉善盟| 商洛市| 拉萨市| 宿迁市| 涟水县| 中阳县| 新晃| 芦山县| 临澧县| 盖州市| 湟源县| 斗六市| 濮阳县| 彰化县| 长治市| 平南县| 潼关县| 锡林浩特市| 壶关县| 龙海市| 博白县| 万宁市| 万盛区| 龙胜| 同心县| 通海县| 广水市| 高邮市| 右玉县| 澳门| 徐闻县| 塔河县| 台湾省| 池州市| 集安市| 绥江县| 山东| 茂名市| 扎鲁特旗| 汉源县|