比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

跟我學 Solidity :合約的創建和繼承_TOK

Author:

Time:1900/1/1 0:00:00

譯文出自:登鏈翻譯計劃

譯者:翻譯小組

校對:Tiny熊

歡迎閱讀“跟我學Solidity”系列中的又一篇文章。在上一篇文章,我們看到了如何使用函數,并運用了到目前為止所學到的一切來構建一個多簽名錢包。

在本文中,我們將看到如何從一個合約中創建另一個合約,以及如何定義抽象合約和接口。

合約創建

可以通過以太坊交易或在Solidity合約中使用new關鍵字創建合約,new關鍵字將部署該合約的新實例并返回合約地址。

通過Solidity文檔中給出的示例,讓我們仔細看看它是如何工作的。我將name變量設為public,以便我們可以讀取到它的值,并且還會和createToken函數的返回值一起創建一個事件(關于事件,也會有其他的文章介紹):

//SPDX-License-Identifier:GPL-3

functionchangeName(bytes32newName)public{if(msg

加密貨幣研究員Laurence Day稱贊Balancer對漏洞披露情況的處理:金色財經報道,加密貨幣研究員Laurence Day稱贊Balancer對漏洞披露情況的處理,稱其為“關鍵漏洞披露做得很好的完美例子”。Balancer似乎已經安全地躲過了一次嚴重的黑客攻擊。

昨天,Balancer宣布,他們收到了一份重要的“影響多個V2礦池的漏洞報告”,并敦促用戶立即從“受影響的流動性提供商(LP)”處提取資金。根據Balancer的Github頁面,以太坊、Polygon、Arbitrum、Polygon、Avalanche、Gnosis、Fantom和zkEVM中八個區塊鏈的多個礦池都受到了該漏洞的影響。該團隊表示,當時該協議總鎖定價值1170萬美元的1.4%面臨風險。

今天早上,Balancer Labs表示,“最初被認為有漏洞的流動性中有97%現在是安全的。”但補充說,約560萬美元仍面臨風險,該團隊鎖定了對易受攻擊池的訪問。LP提取資金的唯一方法是通過專用界面,被建議使用臨時用戶界面“盡快撤出”。[2023/8/23 18:18:00]

functiontransfer(addressnewOwner)public{if(msg

Infosys與國際網球名人堂合作推出“網球元宇宙博物館”:金色財經報道,IT巨頭Infosys宣布已與國際網絡名人堂(ITHF)達成合作推出“網球元宇宙博物館”,旨在利用交互式虛擬體驗為全球網球迷提供身臨其境的網球歷史體驗,彌合了現實世界和數字世界之間的差距。據悉該元宇宙博物館包括名人堂成員的全息雕像、文物和問答游戲,球迷可以看到Stan Smith Adidas運動鞋、Stefanie Graf在1988年金滿貫期間使用的球拍和Serena Williams在2018年美國網球公開賽穿過的連衣裙等標志性物品。此外,“網球元宇宙博物館”還推出了一個虛擬商店,球迷可以在其中兌換通過回答問題獲得的積分。(tennisfame)[2023/7/6 22:20:22]

}contractTokenCreator{eventTokenCreated(bytes32name,addresstokenAddress);functioncreateToken(bytes32name)publicreturns(OwnedTokentokenAddress){tokenAddress=newOwnedToken(name);emitTokenCreated(name,address(tokenAddress));}functionchangeName(OwnedTokentokenAddress,bytes32name)public{tokenAddress

Sturdy Finance向其攻擊者提供10萬美元賞金以要求資金歸還:6月13日消息,借貸協議Sturdy Finance創始人Sam Forman在今天早些時候發布的一條推文中確認,他的團隊已經向未知攻擊者的地址發送了一條鏈上信息。這條消息向犯罪者提供了10萬美元的賞金,要求其將被盜資金歸還到Sturdy擁有的指定地址,并補充說,如果資金歸還,團隊將主張不提出刑事指控。

此前消息,Sturdy Finance攻擊者從Tornado Cash獲得初始資金進行合約攻擊,盜取了442枚ETH。[2023/6/13 21:34:06]

functionisTokenTransferOK(addresscurrentOwner,addressnewOwner)publicpurereturns(boolok){returnkeccak256(abi

}

代碼

這次,我們使用Tuffle框架來輔助開發,可以參考快速入門指南進行項目設置。

彭博社:Gary Wang對于SBF來說是比Caroline Ellison更危險的證人:12月26日消息,彭博社近日刊文分析稱,與Alameda Research前首席執行官Caroline Ellison相比,FTX聯合創始人Gary Wang對FTX的重要性要大得多,這使他成為SBF更危險的證人。此前SBF將FTX的倒閉歸咎于Caroline Ellison,但這一辯護被Gary Wang的認罪協議削弱了。紐約前聯邦檢察官Sarah Paul表示:“我預計SBF將更難聲稱他不知道Gary Wang的所作所為。讓這兩名合作證人在審判中指證他,這將是非常有力的。”

Gary Wang和SBF的關系非常密切。Gary Wang和SBF第一次見面是在高中的數學夏令營,他們在麻省理工學院是室友。他們在加州伯克利合租一所房子時開始開發FTX,Gary Wang為于2019年推出的交易所編寫代碼。兩人一起生活在香港,最近在巴哈馬群島。SBF擁有Alameda公司90%的股份,而Gary Wang只擁有10%的股份。Gary Wang一直擔任Alameda的首席執行官,直到去年年底任命Caroline Ellison為首席執行官。

根據CFTC的指控,Gary Wang幫助創建了基礎代碼,使Alameda能夠在FTX “保持無限的信用額度”,Wang還幫助創建了其他途徑,使Alameda在平臺上進行交易時具有不公平的優勢,包括更快的執行時間。法律專家表示,轉移到Alameda的錢很難解釋為管理不善,而不是欺詐,他前同事的證詞可能對SBF造成毀滅性打擊。在其他案件中,面對這樣的證人,被告試圖扭轉局面,把合作者描繪成真正的壞人,現在撒謊是為了保全自己。

此前12月22日消息,Alameda前CEO和FTX聯創已分別對美檢察官提出的刑事指控和美CFTC提出的欺詐指控認罪;美SEC指控Caroline Ellison和Gary Wang欺詐FTX投資者,兩人已經同意兩項和解協議。[2022/12/26 22:07:56]

首先,我們將創建一個新項目并通過執行以下命令對其進行初始化:

美股股指期貨漲幅擴大,納指期貨漲0.78%:金色財經報道,行情顯示,美股股指期貨漲幅擴大,納指期貨漲0.78%,標普500指數期貨漲0.57%,道指期貨漲0.47%。[2022/6/15 4:27:25]

>mkdirtoken>cdtoken>truffleinit

打開項目,并更新truffle-config

;

返回命令行終端,輸入truffleconsole以啟動Truffle控制臺,你可以在控制臺中編譯和部署合約:

Typing‘truffleconsole’intheterminaltolaunchtheTruffleconsole.

使用compile命令編譯合約,使用migrate命令部署合約。

我們現在要做的是檢索已部署的TokenCreator的實例。然后,進行兩次調用createToken函數,并保存每個新創建合約的地址。

Bytyping‘tokenCreator

...}

抽象合約

如果合約中的至少一個函數沒有實現,則合約需要標記為abstract。即使實現了所有函數,合約也可能被標記為abstract。

抽象合約通過使用關鍵字abstract來完成,未實現的函數應具有關鍵字virtual以表示允許多態

abstractcontractA{functionf()publicpurevirtual;}

抽象合約是直接實例化,即使它實現了所有函數。它們可以用作定義特定行為的基礎合約用來給其他合約繼承。實現函數應用override關鍵字修飾。

abstractcontractA{functionf()publicpurevirtual;}abstractcontractBisA{functionf()publicpureoverride{//functionbody}}

如果派生合約未實現所有未實現的函數,則也需要將其標記為abstract。

接口

接口類似于抽象合約,但是不能實現任何函數。還有其他限制:

它們不能從其他合約繼承,但是可以從其他接口繼承

所有聲明的函數必須是外部的

他們不能聲明構造函數

他們不能聲明狀態變量

使用關鍵字interface聲明接口。

interfaceA{functionf()externalpure;}

接口中聲明的所有函數都是隱式的virtual。

結論

本文就是這樣。本文參考文檔,在接下來的文章中,我們將深入研究智能合約開發。歡迎關注。

本翻譯由CellNetwork贊助支持。

來源:https://medium.com/better-programming/learn-solidity-smart-contract-creation-and-inheritance-8424adac3570

參考資料

登鏈翻譯計劃:https://github.com/lbc-team/Pioneer

翻譯小組:https://learnblockchain.cn/people/412

Tiny熊:https://learnblockchain.cn/people/15

上一篇文章:https://learnblockchain.cn/article/1817

代碼:https://gist.github.com/wissalHaji/50af2ffc141fdf8ed6f598c1f516e3f1#file-token-sol

Tuffle框架:https://learnblockchain.cn/docs/truffle/

快速入門指南:https://learnblockchain.cn/docs/truffle/quickstart.html

Ganache:https://www.trufflesuite.com/ganache

本專欄:https://learnblockchain.cn/column/1

這里:https://learnblockchain.cn/docs/web3.js/

文檔:https://learnblockchain.cn/docs/solidity/contracts.html#index-1

CellNetwork:https://www.cellnetwork.io/?utm_souce=learnblockchain

本文來源于非小號媒體平臺:

登鏈社區

現已在非小號資訊平臺發布105篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/9566627.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

幣安為何推出第三條鏈?這對BNB意味著什么?

Tags:KENTOKTOKETOKENRBX TokenMyTokenTokerrSword BSC Token

fil幣價格今日行情
幣圈羅浩天:12.29btc日線收陰,日內操作建議高空為主_區塊鏈

市場風云,變幻莫測,不如定其心,觀其勢,謀定而后動,取己所需,不貪婪,不好戰,收放自如,方能穩操勝券!大家好我是羅浩天! 實時快訊 截至12月28日,BTC活躍地址數為101.31萬.

1900/1/1 0:00:00
ZT創新板即將上線YFIO_YFIO

據官網公告,ZT創新板即將上線YFIO,已經開啟YFIO充值;并于12月31日14:00開放開啟YFIO/USDT交易對并開放提幣.

1900/1/1 0:00:00
ZT第二期ETH2.0質押挖礦活動圓滿結束_ETH2.0

據官網公告,ZT第二期ETH2.0質押挖礦活動已圓滿結束,第二期1000枚ETH額度已被搶購一空。本次參與搶購的用戶均已獲得ETH2.0質押挖礦憑證——ZETH,并享受T+1發放的質押挖礦收益.

1900/1/1 0:00:00
去中心化保險項目UNION即將上線BitMax交易所_EFI

據不完全統計,僅僅在近一個月,就有PickleFinance、ValueDeFi、Akropolis、Harvest等多個明星DeFi項目遭遇黑客攻擊,累計損失數千萬美元.

1900/1/1 0:00:00
中金研報:幣圈過去一年發生了什么變化?_區塊鏈

在將要過去的2020年,我們看到圍繞比特幣等數字資產的生態環境發生了巨大變化,直接的感受是比特幣價格過去一年上漲接近3倍,達到歷史新高的2.7萬美金,以及穩定幣發行規模擴大3.5倍.

1900/1/1 0:00:00
CTID可信數字身份區塊鏈應用白皮書正式發布_ECT

12月22日,由中國信息通信研究院、中國通信標準化協會、可信?區塊鏈推進計劃共同主辦的"2020可信區塊鏈峰會"在京舉行.

1900/1/1 0:00:00
ads