譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
歡迎來到學習Solidity系列的另一部分。在上一篇文章,我們討論了如何從智能合約中創建另一個智能合約。今天,我們將研究這種情況下的典型用例。
什么是工廠模式?
工廠模式的想法是擁有一個合約(工廠),該合約將承擔創建其他合約的任務。在基于類的編程中,此模式的主要動機來自單一職責原則(一個類不需要知道如何創建其他類的實例),并且該模式為構造函數提供了一種抽象。
UMLdiagramforfactorymethod
圖片來自Wikipedia.
兩巨鯨在過去12小時內買入超200萬美元的COMP:金色財經報道,據Lookonchain監測,巨鯨“0x3fb7”過去2小時共花費124萬美元以均價66.13美元買入18,686個COMP 。巨鯨“0x5de6”在8小時前花費95.3萬枚USDC以均價64.01美元買入14,885枚COMP。[2023/8/2 16:13:10]
為什么要在Solidity中使用工廠模式?
在Solidity中,出于以下原因之一,你可能要使用工廠模式:
如果要創建同一合約的多個實例,并且正在尋找一種跟蹤它們并簡化管理的方法。```contractFactory{Childchildren;functioncreateChild(uintdata){Childchild=newChild(data);children
CoinShares第二季度營收2030萬英鎊,同比增長33.0%:金色財經報道,資產管理公司CoinShares公布了截至2023年6月30日的季度業績。2023年第二季度收入、收益和其他收入為2030萬英鎊,營收同比增長33.0%(2022年第二季度:1530萬英鎊——不包括與TerraUSD相關的特殊損失),第二季度調整后EBITDA為1280萬英鎊(2022年第二季度:900萬英鎊-不包括與TerraUSD相關的特殊損失),2023年第二季度的綜合總收入為530萬英鎊(2022年第二季度:虧損60萬英鎊)。
該季度,CoinShares的被動資產管理部門產生了1060萬英鎊的管理費。CoinShares的資本市場部門報告第二季度的收益和其他收入為1000萬英鎊。[2023/8/1 16:11:10]
}contractChild{uintdata;constructor(uint_data){data=_data;}}*節省部署成本:你可以先部署工廠,之后在使用時再來部署其他合約。*提高合約安全性(請參閱本文).##如何與已部署的智能合約進行交互在深入探討如何實現工廠模式的細節之前,我想澄清一下我們與已部署的智能合約進行交互的方式。工廠模式是用來創建子合約的,并且我們可能希望調用它們的某些函數以更好地管理這些合約。調用部署的智能合約,需要做兩件事:1.合約的ABI(提供有關函數簽名的信息)。如果合約在同一個項目中。你可以使用import關鍵字將其導入。2.部署合約的地址。舉個例子:
聚合器1inch集成Verse DEX:金色財經報道,Bitcoin.com宣布,Verse DEX聚合器集成至1inch,將增加Verse DEX池中的交易量。[2023/1/26 11:31:07]
contractA{addressbAddress;constructor(addressb){bAddress=b;}functioncallHello()externalviewreturns(stringmemory){Bb=B(bAddress);//轉換地址為合約類型returnb
}contractB{stringgreeting="helloworld";functionsayHello()externalviewreturns(stringmemory){returngreeting;}}
Coinbase部分客戶交易出現故障,目前該問題已修復:金色財經報道,據官方推特,Coinbase Support表示,部分客戶與北京時間03:00開始在Coinbase的交易中出現了一些故障,目前該問題已得到解決。[2022/9/14 13:28:27]
在Remix中,首先部署合約B,然后復制其地址,并在部署時將其提供給A的構造函數。現在你可以調用`callHello()`函數,你將獲得合約B的`sayHello()`函數的結果。##普通工廠模式在此模式下,我們創建具有創建子合約函數的工廠合約,并且可能還會添加其他函數來有效管理這些合約(例如,查找特定合約或禁用合約)。在create函數中,我們使用`new`關鍵字來部署子合約。
contractFactory{Childpublicchildren;uintdisabledCount;eventChildCreated(addresschildAddress,uintdata);functioncreateChild(uintdata)external{Childchild=newChild(data,children
functiongetChildren()externalviewreturns(Childmemory_children){_children=newChild(children
}}functiondisable(Childchild)external{children
}contractChild{uintdata;boolpublicisEnabled;uintpublicindex;constructor(uint_data,uint_index){data=_data;isEnabled=true;index=_index;}functiondisable()external{isEnabled=false;}}
```
本文來源于非小號媒體平臺:
登鏈社區
現已在非小號資訊平臺發布105篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/9569964.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
幣安為何推出第三條鏈?這對BNB意味著什么?
CeFi和DeFi要想有效合作還有很長的路要走,但兩者共同的努力將有助于推動加密領域的大規模采用。去中心化金融行業無疑有著巨大的潛力——其鎖倉價值已經爆發,本月也超過了140億美元.
1900/1/1 0:00:00尊敬的用戶: 為優化廣大用戶的操作體驗,HuobiGlobal現已對火幣生態鏈Heco鏈上資產充提頁面的“鏈名稱”進行更新:由“HRC20”更名為“HECO”.
1900/1/1 0:00:001.灰度資產管理總規模升至228億美元2.加密用戶向維基解密創始人捐贈超40萬美元BTC用于法律辯護3.天橋資本正式推出比特幣基金4.加密貨幣交易所現貨交易量在12月創歷史新高5.
1900/1/1 0:00:00親愛的AEX安銀小伙伴們:我們于12月18日舉辦的《合約借貸享福利,10,000USDT等你來!》活動已經結束,現獎勵發放如下:福利1:首次參與,瓜分2000USDT活動期間.
1900/1/1 0:00:00三十年后每個國家的中央銀行都將擁有比特幣,有些中央銀行甚至可能會放棄黃金。撰文:PanteraCapital創始人兼首席執行官DANMOREHEAD編譯:盧江飛PanteraCapital創始人.
1900/1/1 0:00:00尊敬的用戶:HotcoinGlobal將于(GMT8)2021年1月8日15:00開放SHS充提業務,1月8日15:00開放SHS/USDT交易.
1900/1/1 0:00:00