最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
读书| 鹰潭市| 罗甸县| 嘉祥县| 珲春市| 绵竹市| 唐海县| 沙田区| 福海县| 崇州市| 塔城市| 晋宁县| 甘德县| 兴文县| 黄大仙区| 海兴县| 天津市| 隆子县| 临城县| 塔城市| 呼和浩特市| 岑溪市| 上饶市| 广饶县| 肥城市| 定安县| 建始县| 高青县| 西林县| 南漳县| 舟山市| 南京市| 绥化市| 徐水县| 太康县| 克东县| 麦盖提县| 奇台县| 杭锦后旗| 隆回县| 柏乡县|