譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
歡迎閱讀“跟我學Solidity”系列中的又一篇文章。在上一篇文章,我們看到了如何使用函數,并運用了到目前為止所學到的一切來構建一個多簽名錢包。
在本文中,我們將看到如何從一個合約中創建另一個合約,以及如何定義抽象合約和接口。
合約創建
可以通過以太坊交易或在Solidity合約中使用new關鍵字創建合約,new關鍵字將部署該合約的新實例并返回合約地址。
通過Solidity文檔中給出的示例,讓我們仔細看看它是如何工作的。我將name變量設為public,以便我們可以讀取到它的值,并且還會和createToken函數的返回值一起創建一個事件(關于事件,也會有其他的文章介紹):
//SPDX-License-Identifier:GPL-3
functionchangeName(bytes32newName)public{if(msg
特朗普NFT價格上漲至0.13ETH,即略高于215美元:金色財經報道,周四,美國前總統唐納德·特朗普 (Donald Trump) 在X平臺(前身為Twitter)上接受媒體名人Tucker Carlson的采訪在網上瘋傳后,特朗普 (Donald Trump) 的NFT藏品的價格大幅上漲,視頻在播出后數小時內就獲得了1.1億次瀏覽。基于Polygon的特朗普數字交易卡的售價超過0.13以太坊(ETH),即略高于215美元,高于上周的0.1以太坊(ETH),即150美元。根據NFT市場OpenSea的數據,該集合的交易量已超過17個以太幣。[2023/8/24 10:39:44]
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
小幽靈聯創以104ETH購入196只Lil Ghost:4月13日消息,NFT項目The Weirdo Ghost Gang“小幽靈”聯創Christian2022.eth以104.07032ETH(約合20萬美元)價格通過Open Sea Pro購入196只Lil Ghost。[2023/4/13 14:00:36]
functionisTokenTransferOK(addresscurrentOwner,addressnewOwner)publicpurereturns(boolok){returnkeccak256(abi
}
代碼
這次,我們使用Tuffle框架來輔助開發,可以參考快速入門指南進行項目設置。
首先,我們將創建一個新項目并通過執行以下命令對其進行初始化:
>mkdirtoken>cdtoken>truffleinit
外媒:澳大利亞監管機構ASIC在FTX崩潰前八個月就已對其抱有擔憂:1月30日消息,據外媒報道,早在FTX于去年11月倒閉8個月前,澳大利亞金融監管機構就對該交易所在澳大利亞的子公司存在疑慮。Guardian Australia獲得的文件顯示,澳大利亞證券和投資委員會(ASIC)官員對FTX Australia的運營方式感到擔憂,因為該公司能夠通過公司收購在該國獲得牌照。
據了解,FTX于2021年12月收購金融機構IFS Markets,獲得了澳大利亞金融服務許可證(AFSL),并于2022年3月開始運營。ASIC負責人Joe Longo表示,這使得FTX Australia有效地避開了通常適用于新的AFSL許可證持有者的同一級別的審查。
文件顯示,該監管機構在FTX開始運營的同月向其發布了第912C條通知,要求它向ASIC提供有關其運營的文件,以評估FTX是否符合AFSL許可證條件。有了該通知,ASIC可以指示被許可人提供文件,說明他們提供的金融服務、被許可人開展的金融服務業務,并確定被許可人是否滿足“合適人選測試”。
還有一份簡報文件也證實,在最初的擔憂和去年11月FTX崩潰之間的幾個月里,該監管機構已將該交易所置于“監視活動”之下,總共向FTX發出了三次通知。文件時間表還顯示,ASIC直到2022年10月仍對FTX的運營感到擔憂。(Cointelegraph)[2023/1/30 11:36:33]
打開項目,并更新truffle-config
波卡生態系統7支團隊成立維護社區道德規范的Polkadot聯盟:11月29日消息,據波卡DeFi平臺Acala官方博客,Polkadot生態系統的Acala、Astar、Interlay 、KILT Protocol、Moonbeam、Subscan和Phala 七支團隊宣布成立Polkadot聯盟,旨在建立和維護一套供社區遵循的道德規范。聯盟將存在于鏈上,并將在鏈上發布其對不法網站和賬戶的調查結果。但它不會有任何治理權;它的范圍不涉及Polkadot協議的其他部分。
聯盟成員由公司、項目、其他集體,甚至是Polkadot生態系統中的其他網絡組成。會員資格分為兩層:伙伴(Fellow)和盟友(Ally)。伙伴對聯盟議案擁有投票權,并進行鏈上操作。盟友是波卡聯盟的成員,沒有投票權。[2022/11/29 21:09:23]
;
返回命令行終端,輸入truffleconsole以啟動Truffle控制臺,你可以在控制臺中編譯和部署合約:
專家:南非對加密貨幣的監管不應嚇跑投資者:金色財經報道,兩位專家表示,南非即將出臺的加密貨幣法規以及中央銀行將加密貨幣作為一種金融產品進行監管的決定是值得歡迎的,只要這確實激發了人們對加密貨幣投資的興趣。在與 Bitcoin.com News 分享的聯合聲明中,Tax Consulting South Africa 的法律經理 Thomas Lobban 和當地加密貨幣交易所 Revix 的首席財務官 Greg Rodrigues 都斷言,任何此類法規都不得嚇跑投資者。
Lobban 和 Rodrigues 的言論是在引用南非儲備銀行 (SARB) 副行長 Kuben Naidoo 的報道之后發表的,他證實該國預計將在 2023 年底之前制定法規。[2022/7/31 2:48:59]
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:TOKENKENTOKETOKPlayGame TokenGolden Society Token V2imtoken錢包官方版下載imtoken錢包官網app
各位朋友們,你們好,我是老山說幣。在這個市場,如果你處于一直虧損的狀態,不如換個環境。也許正是你的一次改變,會給你帶來不一樣的結果.
1900/1/1 0:00:00尊敬的中幣用戶: 為了保護用戶出入金的安全,并且防止黑產流入,中幣法幣交易風控系統已完成更新升級,主要更新內容如下:1、中幣根據大數據風控模型,監控風險用戶的交易行為,如觸發相關風控規則.
1900/1/1 0:00:00原文標題:《另類央行的演進之路》在經濟學里,貨幣是最古老和最有爭議的主題之一。在區塊鏈上,同樣少有比穩定幣更具話題性的領域.
1900/1/1 0:00:00數字貨幣交易牌照是各國金融局下發的運營數字貨幣相關牌照的許可證,擁有此類牌照就表示次機構可在發放牌照的當地進行合法的數字貨幣交易項目,如數字貨幣交易平臺,數字貨幣錢包等等.
1900/1/1 0:00:00參考消息網12月30日報道?香港《南華早報》網站12月28日發表題為《中國的數字貨幣將如何阻止美元陷阱并幫助世界》一文,作者為梁建邦。全文摘編如下:上世紀初,美元取代英鎊成為世界主要儲備貨幣.
1900/1/1 0:00:00ETH行情分析: 近期行情走勢波動較為偏大。正是我們把握大行情的好時機。此時我們應趁機抓取利潤。現在我們從1小時級別圖可以看到,經過昨天的一次下跌回調后。今天幣價繼續走入穩健的行情.
1900/1/1 0:00:00