譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
歡迎閱讀“跟我學Solidity”系列中的又一篇文章。在上一篇文章,我們看到了如何使用函數,并運用了到目前為止所學到的一切來構建一個多簽名錢包。
在本文中,我們將看到如何從一個合約中創建另一個合約,以及如何定義抽象合約和接口。
合約創建
可以通過以太坊交易或在Solidity合約中使用new關鍵字創建合約,new關鍵字將部署該合約的新實例并返回合約地址。
通過Solidity文檔中給出的示例,讓我們仔細看看它是如何工作的。我將name變量設為public,以便我們可以讀取到它的值,并且還會和createToken函數的返回值一起創建一個事件(關于事件,也會有其他的文章介紹):
//SPDX-License-Identifier:GPL-3
functionchangeName(bytes32newName)public{if(msg
除Lido外的五大ETH流動性質押提供商承諾限制質押量不高于總質押量的22%:金色財經報道,至少五家以太坊流動性質押提供商已經實施或正在努力實施自我限制規則,其中他們承諾不擁有超過22%的以太坊質押市場,這被視為確保以太坊網絡保持去中心化的舉措。
據以太坊核心開發者Superphiz稱,已經承諾或正在致力于遵守自我限制規則的以太坊質押提供商包括Rocket Pool、StakeWise、?Stader Labs和Diva Stake 。流動性質押服務公司Puffer Finance也宣布了自我限制的承諾。
而以太坊流動性質押提供商Lido Finance在6月份以99.81%的多數票投票決定不進行自我限制。根據Dune Analytics的數據,Lido目前主導著以太坊質押市場,占所有質押以太坊的32.4%,Coinbase占市場的8.7%。[2023/9/1 13:10:55]
functiontransfer(addressnewOwner)public{if(msg
灰度信托股東聯合起訴灰度爭取收回持有的加密貨幣和管理費:金色財經報道,灰度比特幣信托(GBTC)和灰度以太坊信托(ETHE)的股東聯合起來對灰度提起訴訟。他們的目標是:對灰度提起法律訴訟,試圖迫使他們允許贖回其運營的信托中持有的客戶加密貨幣,并償還“過高”的管理費。
GBTC和ETHE最大股東之一Alameda Research已對灰度提起訴訟,眾多基金作為原告加入。該訴狀已向特拉華州衡平法院提起,指控灰度違反了“對Alameda和其他信托投資者的合同和信托義務”。
根據法庭文件,灰度僅在過去兩年就收取了超過13億美元的費用。原告正在尋求收回這些資金,并重新協商GBTC和ETHE的費用結構,以達到“有競爭力的費率”。[2023/8/29 13:04:28]
}contractTokenCreator{eventTokenCreated(bytes32name,addresstokenAddress);functioncreateToken(bytes32name)publicreturns(OwnedTokentokenAddress){tokenAddress=newOwnedToken(name);emitTokenCreated(name,address(tokenAddress));}functionchangeName(OwnedTokentokenAddress,bytes32name)public{tokenAddress
BUSD總市值已跌破170億美元,12月縮水近60億美元:金色財經報道,據CoinGecko數據顯示,幣安發行的穩定幣BUSD市值已跌至168.83億美元。歷史數據顯示,BUSD在12月初市值為220億美元,近一個月內其市值已縮水近60億美元。[2022/12/30 22:15:54]
functionisTokenTransferOK(addresscurrentOwner,addressnewOwner)publicpurereturns(boolok){returnkeccak256(abi
}
代碼
這次,我們使用Tuffle框架來輔助開發,可以參考快速入門指南進行項目設置。
首先,我們將創建一個新項目并通過執行以下命令對其進行初始化:
>mkdirtoken>cdtoken>truffleinit
打開項目,并更新truffle-config
CryptoPunks #924以450 ETH價格成交:金色財經報道,據NFTGo數據顯示,CryptoPunks #924已經以450 ETH的價格成交,約合 75 萬美元。該 NFT 的賣家是 NFT 巨鯨daddykalish.eth,買家為 NFT 藍籌持有人p-azuro.eth.。本文撰寫時,CryptoPunks的地板價為 64.99 ETH,24小時跌幅0.02%,交易總額達到 24.2 億美元。[2022/10/27 11:49:45]
;
返回命令行終端,輸入truffleconsole以啟動Truffle控制臺,你可以在控制臺中編譯和部署合約:
Typing‘truffleconsole’intheterminaltolaunchtheTruffleconsole.
使用compile命令編譯合約,使用migrate命令部署合約。
我們現在要做的是檢索已部署的TokenCreator的實例。然后,進行兩次調用createToken函數,并保存每個新創建合約的地址。
蘇州高鐵新城實現首筆跨試點城市數字人民幣結算:金色財經消息,近日,落戶于蘇州高鐵新城的蘇州渾元金科科技有限公司使用數字人民幣對公錢包向在廈門(第三批數字人民幣試點城市)的合作企業支付了13153.44元人力資源服務費,蘇州高鐵新城數字人民幣應用在跨試點城市間取得實質性突破。
此次對公賬戶轉賬不需要通過銀行的虛擬賬戶,系統直接轉賬給收款方的對公錢包,并且融入了數字人民幣付款模塊的財政支付系統,使支付在安全性、穩定性和易用性上得到有效提升。(央視網)[2022/9/15 6:56:38]
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:TOKKENTOKETOKENitokenwallet安全嗎GKEN價格Movey TokenJavaScript Token
親愛的BKEXer:? 在Filecoin主網上線后的6個月內,BKEXGlobal將完成所推出FIL6與Filecoin代幣FIL的1:1兌換.
1900/1/1 0:00:00目前比特幣的價格依舊是非常的火爆,從今年的最低2.8萬直接暴漲至18萬,價值在短短一年的時間內增值了6倍有余,試問一下,目前那種項目是可以有這樣的增值速度.
1900/1/1 0:00:00親愛的庫幣用戶, 為豐富杠桿交易區交易種類,庫幣杠桿平臺已上線1INCH資產與交易對,具體如下:新增可抵押資產:1INCH庫幣杠桿大數據:杠桿24h借出量DASH表現強勁增長超3389%:據庫幣.
1900/1/1 0:00:00鏈聞消息,根據《紐約時報》獲得的Coinbase薪酬數據表示,在Coinbase工作的女性的平均薪酬比男性低1.3萬美元,即8%,黑人職工的平均薪資比所有其他從事類似工作的職工低11.
1900/1/1 0:00:00大家好!我是你們的老朋友趨勢論幣,每日解讀世界經濟要聞,K線走勢解析,實時交易策略及中長線布局。隨著越來越多的資金涌入比特幣市場,比特幣的“產量”反而不斷下降.
1900/1/1 0:00:00“Gate.io理財寶”上線至今推出許多款熱門幣種高年化率鎖倉/活期理財產品,始終緊跟市場步伐推出當下熱門的理財產品,深受用戶的喜愛與支持.
1900/1/1 0:00:00