国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)用的邊界情況的評論 (共 條)

分享到微博請遵守國家法律
江华| 融水| 林口县| 南阳市| 密山市| 龙游县| 淳安县| 喀喇沁旗| 哈尔滨市| 天气| 长岛县| 吉安市| 巴林右旗| 田阳县| 合川市| 乐亭县| 罗甸县| 诸暨市| 东至县| 堆龙德庆县| 赤峰市| 临泉县| 双柏县| 大邑县| 琼中| 桃源县| 兴业县| 姜堰市| 阜平县| 普安县| 布拖县| 巫溪县| 淄博市| 海门市| 通渭县| 浮梁县| 永登县| 旬邑县| 界首市| 曲靖市| 巴青县|