五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

合約調(diào)用的邊界情況

2023-02-26 19:47 作者:東風(fēng)草綠  | 我要投稿

????邊界情況總是較少受到關(guān)注,更容易被忽視,但又對理解問題很關(guān)鍵。solidity合約調(diào)用的問題也是如此,幾乎所有教程、文檔都不提及。這對學(xué)習(xí)者、開發(fā)者很不利。所以說一下。

  1. 一個(gè)非合約的地址能夠接受任何形式上正確的transaction。這實(shí)際上將沒有代碼的一個(gè)address當(dāng)成消極被動(dòng)的實(shí)體,一個(gè)白癡,它不懂如何拒絕。你去調(diào)用一個(gè)合約函數(shù),地址搞錯(cuò)了,用了一個(gè)非合約地址,不要指望交易會revert。它總是成功的。

  2. 上一條說得非合約地址,并不意味著它是來自于一個(gè)公司鑰對。它可能是任何一個(gè)160位的數(shù)據(jù)塊。向這種地址轉(zhuǎn)賬,錢就進(jìn)了黑洞。數(shù)量上這種黑洞地址遠(yuǎn)多于真實(shí)的外部賬號地址。黑洞占統(tǒng)治地位。

  3. 發(fā)送到有代碼的合約地址的交易,即合約調(diào)用,并不總是被接受(我們這里說的是被接受,并不一定成功執(zhí)行),取決于合約的函數(shù)安排。自定義的函數(shù)只接受對應(yīng)的selector的調(diào)用,receive用于攔截calldata為空的情況,fallback在receive之后兜底。如果value大于0,則要看上述鏈條解析出的接受者是否是payble。一個(gè)transaction在一個(gè)合約中可能找不到接受函數(shù),這時(shí)調(diào)用失敗。非合約地址就不會發(fā)生這種失敗。這個(gè)過程很多開發(fā)者并未徹底搞清楚。

上面幾條列一下,以為記


合約調(diào)用的邊界情況的評論 (共 條)

分享到微博請遵守國家法律
安福县| 碌曲县| 剑川县| 淳安县| 黄梅县| 星子县| 鄂伦春自治旗| 池州市| 乌拉特后旗| 永清县| 隆林| 汉中市| 聊城市| 巴林左旗| 祁连县| 黔江区| 建德市| 太康县| 西青区| 栖霞市| 昌黎县| 开江县| 滦平县| 景德镇市| 建水县| 浑源县| 汶上县| 巧家县| 五台县| 鄂州市| 宾川县| 高邑县| 宿迁市| 商城县| 龙陵县| 海原县| 宁城县| 仪征市| 全椒县| 九江县| 邯郸县|