以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > BNB價格 > Info

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

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

托管公司Casa推出ETH保險庫,還將支持其他以太坊相關資產:6月21日消息,自助托管解決方案提供商Casa在現有的BTC保險庫之外,再次推出了ETH保險庫。根據官方介紹,Casa多密鑰保管庫最多支持五個密鑰,從而增強安全性。Casa表示,正在收集關于增加對其他ETH相關資產支持的反饋,例如NFT、穩定幣和ERC-20代幣。(The Block)[2023/6/22 21:52:56]

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

安全監測:@Popcorn_DAO Discord 服務器遭攻擊:金色財經報道,據SharkTeam鏈上分析平臺 ChainAegis 安全監測顯示,@Popcorn_DAO Discord 服務器遭攻擊,正在發布虛假釣魚網站,請勿點擊發布的任何鏈接直至團隊修復以免造成損失。[2023/6/21 21:52:20]

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

}

代碼

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

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

>mkdirtoken>cdtoken>truffleinit

The Sandbox將為香港知專設計學院的學生提供元宇宙教育:5月1日消息,據官方推特,元宇宙項目The Sandbox宣布與香港知專設計學院(HKDI)達成合作。作為合作的一部分,The Sandbox將為HKDI的學生提供元宇宙教育。

據悉,香港知專設計學院是香港特區政府的職業訓練局,為培訓創意工業人才而成立的一專上院校。[2023/5/1 14:37:01]

打開項目,并更新truffle-config

;

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

Typing‘truffleconsole’intheterminaltolaunchtheTruffleconsole.

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

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

跨鏈互操作性協議Wormhole已支持Arbitrum:11月24日消息,跨鏈互操作性協議Wormhole已支持以太坊擴容解決方案Arbitrum。Arbitrum用戶可以訪問來自20多個區塊鏈和7個不同VM的資產、預言機數據、NFT等。[2022/11/24 8:02:35]

Bytyping‘tokenCreator

...}

抽象合約

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

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

abstractcontractA{functionf()publicpurevirtual;}

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

騰訊收購育碧最大股東Guillemot 49.9%的股份:金色財經報道,騰訊收購育碧最大股東Guillemot 49.9%的股份,斥資3億歐元。[2022/9/7 13:12:35]

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:KENTOKENTOKTOKE3X Long OKB TokenAUTZ TokenLEO TokenWrapped Huobi Token

BNB價格
TPS:幣安推遲上線BNT、UNFI、CHZ 1-20倍USDT永續合約

親愛的用戶:原定于本周上線的BNT、UNFI、CHZ1-20倍USDT永續合約將延遲上線,具體時間將另行公告.

1900/1/1 0:00:00
EFI:2021年比特幣、以太坊雙輪驅動 DeFi百花齊放

雙輪驅動、百花齊放 *2021年雙輪驅動,百花齊放。一輪是比特幣,一輪是以太坊,百花是DeFi.

1900/1/1 0:00:00
COVER:幣安將啟用「SAFU 基金」補貼部分 COVER 受損用戶

今日,幣安公布COVER事件的解決方案,將啟用“SAFU基金”為快照時間后在幣安買入的持倉受損用戶進行補貼.

1900/1/1 0:00:00
GAT:Gate.io 重磅上線BTC組合理財,浮動收益率 5%

“Gate.io理財寶”于2020年12月31日12:00開啟《BTC組合理財14天》理財項目,鎖倉14天,浮動收益率5%,總額度200BTC。利息每日發放,按先到先得原則,滿額為止.

1900/1/1 0:00:00
HomiEx(紅米交易所)將于 12月30日14:00 上線1INCH

親愛的用戶: 紅米交易所將上線1INCH/USDT交易對,具體時間安排如下。開放交易時間:12月30日14:00(UTC8)?開放充值時間:12月30日14:00(UTC8)?開放提現時間:12.

1900/1/1 0:00:00
DIC:HashKey:深入分析加密資產保險服務產業結構與運作流程

在機構加速進入加密貨幣領域的時刻,承保服務商的出現或推動現有保險產品規模化。原文標題:《機構級加密資產保險服務研究報告》撰文:肖曉,就職于HashKeyCapital 加密資產保險背景 在過去幾.

1900/1/1 0:00:00
ads