-
Bitcoin
$119,863.3934
0.94% -
Ethereum
$3,010.9962
1.56% -
XRP
$2.9550
4.23% -
Tether USDt
$1.0001
-0.02% -
BNB
$690.0478
-0.22% -
Solana
$162.1486
0.76% -
USDC
$0.9999
0.00% -
Dogecoin
$0.1972
-0.42% -
TRON
$0.3028
-0.03% -
Cardano
$0.7344
-0.21% -
Hyperliquid
$47.3028
-2.45% -
Stellar
$0.4564
-4.00% -
Sui
$3.8759
11.26% -
Chainlink
$15.7784
1.17% -
Bitcoin Cash
$505.1044
-0.45% -
Hedera
$0.2359
-1.73% -
Avalanche
$21.2442
0.47% -
UNUS SED LEO
$9.0011
-0.40% -
Shiba Inu
$0.0...01324
-0.01% -
Toncoin
$3.0266
2.04% -
Litecoin
$95.4063
1.12% -
Monero
$344.5374
2.36% -
Polkadot
$3.9469
-0.64% -
Uniswap
$9.1176
7.56% -
Dai
$0.9999
-0.01% -
Ethena USDe
$1.0005
-0.04% -
Bitget Token
$4.4514
1.32% -
Pepe
$0.0...01219
-0.45% -
Aave
$315.0918
3.10% -
Bittensor
$407.1726
4.30%
什麼是最小代理合同(EIP-1167)?
最小的代理合同有效地將呼叫撥打到使用授權的實施合同,從而實現具有成本效益的部署並在多個實例上共享邏輯。
2025/07/15 05:00

了解最小代理合同
最少的代理合同是一項輕巧的智能合同,旨在將所有呼叫轉發給另一個合同,同時保持最小的開銷。它在基於以太坊的系統中起著至關重要的作用,尤其是在用共享邏輯部署合同的多個實例時。該概念是通過EIP-1167形式化的,該概念概述了使用最少的字節碼創建現有合同克隆的標準。
這種機制背後的核心思想是代碼重用。開發人員可以部署代理人將所有功能調用委派給現有的實施合同,而不是每次都使用相同的邏輯部署新合同,而是可以部署一個代理。這大大降低了部署成本並簡化了升級。
關鍵概念:最小代理合同僅包含將執行重定向到目標合同的必要代碼。
EIP-1167如何工作?
EIP-1167利用固定性以實現其功能。 VelegateCall允許一份合同從另一個合同中執行代碼,同時保留呼叫合同的上下文(例如msg.sender和Storage)。在最少的代理人的情況下,這意味著代理人在不更改呼叫者上下文的情況下將所有傳入的呼叫轉發給實施合同。
這是其工作原理:
- 代理合同包含一個單個存儲插槽,該存儲插槽包含實施合同的地址。
- 當用戶與代理進行交互時,觸發了後備功能。
- 這個後備函數使用授權函數將呼叫轉發到存儲的實現地址。
由於其簡單性,代理合同幾乎不需要天然氣才能部署,通常不到50,000天氣。這種效率使其成為需要快速,便宜地部署許多類似合同的場景。
最小代理合同的結構
最小代理合同通常遵循EIP-1167定義的嚴格結構。它包括:
- 一個恆定的地址變量指向實施合同。
- 在該實現地址執行授權的後備功能。
- 沒有超出實施地址的構造函數或狀態變量。
該設計確保代理不會存儲任何邏輯本身,而只是充當實施合同的渠道。以下是以堅固性書寫的這種合同的簡化版本:
pragma solidity ^0.8.0;
合同最小值{address private immutable implementation; constructor(address _implementation) { implementation = _implementation; } fallback() external payable { address impl = implementation; assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize()) let result := delegatecall(gas(), impl, ptr, calldatasize(), 0, 0) let size := returndatasize() returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } }
}
重要說明:在後備功能中使用內聯裝配對於保持代理最小和高效至關重要。
最小代理合同的用例
由於其效率和靈活性,最小代理合同在各種分散應用和協議中廣泛使用。一些最常見的用例包括:
- 令牌工廠:從單個實施合同中創建多個ERC-20或ERC-721令牌。
- 可升級合同:作為升級性模式(例如透明代理或UUP)的基礎層。
- 高效部署:實例化數百或數千個合同時降低部署成本。
- 合同模板:提供標準化模板,用於多個部署的可預測行為。
這些用例中的每一個都受益於減少的部署足跡以及在多個代理之間保持一致邏輯的能力。
最小代理與其他代理模式之間的差異
以太坊中有幾種代理模式,包括透明代理,UUP(通用升級代理標準)和信標代理。在復雜性,升級性和汽油成本方面,每個人都有自己的權衡。
最小代理和其他代理類型之間的關鍵區別在於功能和可擴展性:
- 除非與其他基礎架構配對,否則最小代理不支持升級。
- 透明的代理包括管理邏輯和代理註冊表,增加了氣體使用和復雜性。
- UUPS代理允許通過實施合同進行獨立的升級。
最小的代理最適合在部署後實施或外部處理升級後保持靜態的方案。
安全考慮和最佳實踐
儘管最少的代理合同很簡單,但它們並非沒有風險。開發人員應遵循最佳實踐以確保安全使用:
- 確保實施不變性:部署後,除非明確打算和確保,否則實施地址不應更改。
- 避免存儲衝突:由於代理和實施共享存儲上下文,因此需要仔細計劃,如果以後擴展代理。
- 驗證字節碼:始終驗證代理和實施合同的字節碼以防止惡意修改。
- 徹底測試:使用HardHat或Foundry之類的工具在MainNet部署前模擬相互作用和測試邊緣案例。
關鍵提示:切勿假設代理合同從實施中繼承安全性,必須單獨審核。
常見問題
問:我可以升級最少的代理合同嗎?
雖然最小代理本身不包括升級邏輯,但您可以通過將它們與其他標準(例如UUP)相結合或使用外部控制器來管理實施地址來創建可升級的系統。
問:與完整合同相比,部署最少的代理人多少錢?
部署最少的代理通常費用約為20,000-50,000天氣,而部署完整合同的價格可能超過200萬天然氣,具體取決於復雜性。
問:有沒有辦法從部署的代理中檢索實現地址?
是的,實現地址通常存儲在特定的存儲插槽中(通常是插槽0)。您可以使用eth_getStorageAt
或檢查合同創建代碼等工具閱讀它。
問:最小的代理是否與所有固體版本兼容?
它們與堅固0.5.0及以上的堅固性很好。但是,為了獲得最佳的兼容性和節省的氣體,建議使用0.8.x或更新。
免責聲明:info@kdj.com
所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!
如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。
- 比特幣的瘋狂旅程:集會,記錄高點和不可避免的利潤
- 2025-07-15 15:10:11
- XRP,比特幣優勢和Altcoins:解碼加密的未來
- 2025-07-15 15:30:11
- 比特幣集會冷卻:獲利還是只是呼吸?
- 2025-07-15 15:10:11
- 比特幣,加密貨幣,對話:休眠的錢包,象徵性的解鎖和特朗普成員 - 哦,我的!
- 2025-07-15 15:30:12
- 比特幣,國會和加密立法:最新DC戲劇的紐約分鐘
- 2025-07-15 15:35:12
- 加密票據,眾議院辯論,政治緊張局勢:國會山的紐約分鐘
- 2025-07-15 15:35:12
相關知識

如何進行Bitcoin期貨交易策略?
2025-07-15 11:35:36
了解Bitcoin期貨交易Bitcoin期貨交易涉及以預定的價格和將來以預定的價格和日期購買或出售Bitcoin的合同。交易者使用這些工具來推測價格變動或對沖現有職位。在這種情況下對策略進行回測,意味著將交易計劃應用於歷史數據,以評估其績效,然後再冒險實際資本。這個過程有助於確定戰略中的優勢和劣勢,...

交易心理學Bitcoin合同
2025-07-13 02:50:00
了解Bitcoin期貨交易的情感過山車Bitcoin合同交易,尤其是以期貨的形式,引入了高水平的波動性和槓桿作用,可能會對交易者的心理狀態產生重大影響。與現貨交易(在您購買實際Bitcoin)的地方不同,期貨合約允許交易者推測價格變動而不擁有基礎資產。這種動態創造了獨特的情感景觀,貪婪,恐懼和過度自...

可以將閃電網絡用於智能合約嗎?
2025-07-14 23:28:20
了解閃電網絡的核心功能Lightning網絡是建立在Bitcoin之類的區塊鏈協議之上的第二層解決方案,以啟用更快,更便宜的交易。它通過在用戶之間創建鏈付款渠道,使他們可以進行多次交易而不將每個交易廣播到主區塊鏈,從而運行。該系統大大降低了交易費用並增加了吞吐量。但是,其主要的設計重點一直放在微型和...

一天中的最佳交易時間Bitcoin合同?
2025-07-13 05:29:09
了解Bitcoin合同及其波動性Bitcoin合同,尤其是期貨合約,是衍生工具,允許交易者在不擁有基礎資產的情況下推測Bitcoin的未來價格。這些合同來自Bitcoin的現貨價格,並在Binance,Bybit和Okx等平台上進行交易。 Bitcoin的波動性使這些合同具有很高的吸引力,但也有風險...

如何閱讀Bitcoin期貨的燭台圖表?
2025-07-15 03:00:26
了解燭台圖表的基礎知識燭台圖廣泛用於加密貨幣交易,尤其是對於Bitcoin期貨。每個燭台都代表一個特定的時間間隔,並在此期間顯示開放,高,低和近距離的價格。蠟燭的主體反映了開頭和收盤價之間的範圍,而燈芯或陰影表示達到的最高點和最低點。蠟燭的顏色也很重要 - 通常,綠色蠟燭代表看漲的運動(比開放量高)...

如何在Bitcoin合同交易中使用斐波那契水平?
2025-07-13 08:07:30
了解交易中的斐波那契水平斐波那契水平是交易者使用的技術分析工具,以識別潛在的支持和阻力區。這些級別源自斐波那契序列,這是一個數學概念,每個數字都是兩個前一個的總和(0、1、1、2、3、5、8、13等)。在交易中,主要斐波那契比率(例如23.6%,38.2%,50%,61.8%和78.6%)通常適用於...

如何進行Bitcoin期貨交易策略?
2025-07-15 11:35:36
了解Bitcoin期貨交易Bitcoin期貨交易涉及以預定的價格和將來以預定的價格和日期購買或出售Bitcoin的合同。交易者使用這些工具來推測價格變動或對沖現有職位。在這種情況下對策略進行回測,意味著將交易計劃應用於歷史數據,以評估其績效,然後再冒險實際資本。這個過程有助於確定戰略中的優勢和劣勢,...

交易心理學Bitcoin合同
2025-07-13 02:50:00
了解Bitcoin期貨交易的情感過山車Bitcoin合同交易,尤其是以期貨的形式,引入了高水平的波動性和槓桿作用,可能會對交易者的心理狀態產生重大影響。與現貨交易(在您購買實際Bitcoin)的地方不同,期貨合約允許交易者推測價格變動而不擁有基礎資產。這種動態創造了獨特的情感景觀,貪婪,恐懼和過度自...

可以將閃電網絡用於智能合約嗎?
2025-07-14 23:28:20
了解閃電網絡的核心功能Lightning網絡是建立在Bitcoin之類的區塊鏈協議之上的第二層解決方案,以啟用更快,更便宜的交易。它通過在用戶之間創建鏈付款渠道,使他們可以進行多次交易而不將每個交易廣播到主區塊鏈,從而運行。該系統大大降低了交易費用並增加了吞吐量。但是,其主要的設計重點一直放在微型和...

一天中的最佳交易時間Bitcoin合同?
2025-07-13 05:29:09
了解Bitcoin合同及其波動性Bitcoin合同,尤其是期貨合約,是衍生工具,允許交易者在不擁有基礎資產的情況下推測Bitcoin的未來價格。這些合同來自Bitcoin的現貨價格,並在Binance,Bybit和Okx等平台上進行交易。 Bitcoin的波動性使這些合同具有很高的吸引力,但也有風險...

如何閱讀Bitcoin期貨的燭台圖表?
2025-07-15 03:00:26
了解燭台圖表的基礎知識燭台圖廣泛用於加密貨幣交易,尤其是對於Bitcoin期貨。每個燭台都代表一個特定的時間間隔,並在此期間顯示開放,高,低和近距離的價格。蠟燭的主體反映了開頭和收盤價之間的範圍,而燈芯或陰影表示達到的最高點和最低點。蠟燭的顏色也很重要 - 通常,綠色蠟燭代表看漲的運動(比開放量高)...

如何在Bitcoin合同交易中使用斐波那契水平?
2025-07-13 08:07:30
了解交易中的斐波那契水平斐波那契水平是交易者使用的技術分析工具,以識別潛在的支持和阻力區。這些級別源自斐波那契序列,這是一個數學概念,每個數字都是兩個前一個的總和(0、1、1、2、3、5、8、13等)。在交易中,主要斐波那契比率(例如23.6%,38.2%,50%,61.8%和78.6%)通常適用於...
看所有文章
