以太坊 Delegatecall / Callcode 和庫(kù)

2022-06-14 09:48 更新

存在一個(gè)消息調(diào)用的特殊變體,稱為委托調(diào)用, 它與消息調(diào)用相同,除了目標(biāo)地址處的代碼在調(diào)用合約的上下文(即地址處)中執(zhí)行?m?sg.sender???并且?msg.valu?e?不會(huì)更改之外他們的值。

這意味著合約可以在運(yùn)行時(shí)從不同的地址動(dòng)態(tài)加載代碼。存儲(chǔ)、當(dāng)前地址和余額仍然是調(diào)用合約,只是代碼取自被調(diào)用地址。

這使得在 Solidity 中實(shí)現(xiàn)“庫(kù)”特性成為可能:可重用的庫(kù)代碼,可以應(yīng)用于合約的存儲(chǔ),例如,為了實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)