譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
歡迎閱讀“跟我學Solidity”系列中的又一篇文章。在上一篇文章,我們看到了如何使用函數,并運用了到目前為止所學到的一切來構建一個多簽名錢包。
在本文中,我們將看到如何從一個合約中創建另一個合約,以及如何定義抽象合約和接口。
合約創建
可以通過以太坊交易或在Solidity合約中使用new關鍵字創建合約,new關鍵字將部署該合約的新實例并返回合約地址。
通過Solidity文檔中給出的示例,讓我們仔細看看它是如何工作的。我將name變量設為public,以便我們可以讀取到它的值,并且還會和createToken函數的返回值一起創建一個事件(關于事件,也會有其他的文章介紹):
//SPDX-License-Identifier:GPL-3
functionchangeName(bytes32newName)public{if(msg
尼科西亞大學推出元宇宙課程:金色財經報道,位于塞浦路斯的尼科西亞大學 (UNIC) 正在推出一個碩士課程,教授學生在元宇宙中的設計和管理。元宇宙學位的理學碩士 (MSc) 是一個跨學科項目,涵蓋有助于元宇宙發展的各個領域,包括建筑、金融、政策、社會科學等。
該計劃從 9 月到 8 月持續一年,分為三個學期,重點關注兩個領域,元宇宙設計和元宇宙管理。該計劃的課程將涵蓋增強現實 (AR) 和虛擬現實 (VR)、NFT、區塊鏈數據技能、營銷和項目管理等主題。[2023/6/21 21:50:34]
functiontransfer(addressnewOwner)public{if(msg
}contractTokenCreator{eventTokenCreated(bytes32name,addresstokenAddress);functioncreateToken(bytes32name)publicreturns(OwnedTokentokenAddress){tokenAddress=newOwnedToken(name);emitTokenCreated(name,address(tokenAddress));}functionchangeName(OwnedTokentokenAddress,bytes32name)public{tokenAddress
Ultiverse、TaskON等BNB Chain項目將集成zkBAB進行隱私身份驗證:5月25日消息,Ultiverse、TaskON、ReadON、Yuliverse、Web3Go、zkPass 和 LetsMeme 等 BNB Chain 項目宣布采用 Web3 隱私保護協議 Manta Network 推出的 zkBAB 進行隱私身份驗證,將集成 zkBAB 私有身份憑證。通過利用 zkBAB,可減少機器人程序利用和女巫攻擊,此外用戶可通過使用證明密鑰連接應用程序,以無縫和無錢包的方式驗證所有權。[2023/5/25 10:38:51]
functionisTokenTransferOK(addresscurrentOwner,addressnewOwner)publicpurereturns(boolok){returnkeccak256(abi
}
代碼
這次,我們使用Tuffle框架來輔助開發,可以參考快速入門指南進行項目設置。
OpenAI:ChatGPT在意大利已經恢復使用:金色財經報道,OpenAI稱,ChatGPT在意大利已經恢復使用,公司已經已經解決了意大利監管當局提出的問題。[2023/4/29 14:33:45]
首先,我們將創建一個新項目并通過執行以下命令對其進行初始化:
>mkdirtoken>cdtoken>truffleinit
打開項目,并更新truffle-config
;
返回命令行終端,輸入truffleconsole以啟動Truffle控制臺,你可以在控制臺中編譯和部署合約:
Typing‘truffleconsole’intheterminaltolaunchtheTruffleconsole.
使用compile命令編譯合約,使用migrate命令部署合約。
我們現在要做的是檢索已部署的TokenCreator的實例。然后,進行兩次調用createToken函數,并保存每個新創建合約的地址。
數據:18.5億美元BTC和8.7億美元ETH期權合約將于2月24日到期交割:2月23日消息,Deribit數據顯示,超過18.5億美元BTC和8.7億美元ETH的期權合約將于2月24日到期交割。其中BTC的最大痛點價格為2.2萬美元;ETH的最大痛點價格為1600美元。
注:“期權最大痛點”假設市場上所有持倉是由大戶沽出的,對大戶最有利的結算價為“市場內在總值”最低的價位。廣義來說就是市場會向大多數人比較痛苦的方向發展,這樣才可以使主力的利益最大化。[2023/2/23 12:24:34]
Bytyping‘tokenCreator
...}
抽象合約
如果合約中的至少一個函數沒有實現,則合約需要標記為abstract。即使實現了所有函數,合約也可能被標記為abstract。
抽象合約通過使用關鍵字abstract來完成,未實現的函數應具有關鍵字virtual以表示允許多態
Gemini已正式上線以太坊質押服務:9月30日消息,據官方推特,Gemini已正式上線以太坊質押服務,免費ETH質押活動將截止至10月31日,活動期間客戶獲得的ETH獎勵將比基礎質押獎勵率高出15%。
此前9月10日消息,Gemini宣布其質押服務將面向包括澳大利亞、巴西在內的30多個國家或地區的用戶開放,此前該業務僅向美國(不包括紐約)、中國香港、新加坡開放。9月27日,Gemini在公告中公布了其將于9月29日上線以太坊質押服務的消息。[2022/9/30 6:04:13]
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:TOKKENTOKENTOKEData Transaction TokenTOS Tokenimtoken蘋果下載tokenFreemoon Token
編者注:本文為Vitalik于2020年10月19日在以太坊研究者論壇上發表的帖子,提議了他所設想的Eth1如何轉換成分片化信標鏈的子系統的過程,并解釋了開發者、用戶對這個過程會有什么知覺.
1900/1/1 0:00:00親愛的BBKX用戶 因Ripple被SEC起訴導致當前的XRP具有較高風險,目前存在著諸多不確定因素,平臺已將XRP的ETF交易對每倍杠桿管理費率調整為0.3%.
1900/1/1 0:00:00短短幾個小時的時間,DeFi保險代幣Cover先是暴跌99%,再暴漲2000%,這趟死亡過山車讓我這個觀察者不禁嚇出了一身冷汗.
1900/1/1 0:00:00說到今年最熱的領域,DeFi必須擁有自己的名號,隨著流動性挖礦的火爆,DeFi的浪潮瘋狂席卷市場.
1900/1/1 0:00:00Filecoin作為迄今為止少有的落地項目,可以說是真正繼以太坊以來具有革命性技術突破的項目。這是區塊鏈技術一大進步。在過去幾年時間里,從官方層面到社區技術開發團隊都在向應用落地靠攏.
1900/1/1 0:00:00加密版本的杠桿ETF金融工具,無需保證金,也不會有清算風險。撰文:LeftOfCenter,本文感謝鏈上期權協議FinNexus聯合創始人兼CFORyanTian提供的反饋和洞見.
1900/1/1 0:00:00