TOKE:跟我学 Solidity :合约的创建和继承_520 TOKEN

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

欢迎阅读“跟我学Solidity”系列中的又一篇文章。在上一篇文章,我们看到了如何使用函数,并运用了到目前为止所学到的一切来构建一个多签名钱包。

在本文中,我们将看到如何从一个合约中创建另一个合约,以及如何定义抽象合约和接口。

合约创建

可以通过以太坊交易或在Solidity合约中使用new关键字创建合约,new关键字将部署该合约的新实例并返回合约地址。

通过Solidity文档中给出的示例,让我们仔细看看它是如何工作的。我将name变量设为public,以便我们可以读取到它的值,并且还会和createToken函数的返回值一起创建一个事件(关于事件,也会有其他的文章介绍):

//SPDX-License-Identifier:GPL-3

functionchangeName(bytes32newName)public{if(msg

Web3沉浸式社交应用VUZ完成2000万美元B轮融资:10月13日消息,迪拜Web3沉浸式社交应用VUZ宣布完成2000万美元B轮融资,Caruso Ventures、Vision VC Fund、e&capital、DFDF (Dubai Future District Fund))、WIN(Webit Investment Network)、SRMG、Elbert Capital和Yasta Partners、Faith Capital、Panthera Capital等参投,迄今融资总金额已超3000万美元。

VUZ通过提供沉浸式内容来弥合物理世界和虚拟世界之间的差距,目前已登陆iOS和Android应用商店。[2022/10/14 14:27:00]

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

观点:比特币“跌跌不休” 下看20000美元一线:6月迄今,比特币已跌掉约10%。Oanda高级市场分析师Edward Moya称,由于美国监管方面的担忧日益加剧,这一全球最大加密货币正“危险地逼近30000美元”,如果失守这一关口,大规模动量抛盘可能涌现。Evercore技术策略师Rich Ross和Tallbacken Capital Advisors的Michael Purves均警示,如果比特币从当前水平进一步下跌,可能会下看20000美元区域。[2021/6/9 23:23:43]

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

}

代码

这次,我们使用Tuffle框架来辅助开发,可以参考快速入门指南进行项目设置。

首先,我们将创建一个新项目并通过执行以下命令对其进行初始化:

BTC跌破22000美元关口 日内跌幅为7.85%:火币全球站数据显示,BTC短线下跌,跌破22000美元关口,现报21999.01美元,日内跌幅达到7.85%,行情波动较大,请做好风险控制。[2020/12/21 16:00:33]

>mkdirtoken>cdtoken>truffleinit

打开项目,并更新truffle-config

;

返回命令行终端,输入truffleconsole以启动Truffle控制台,你可以在控制台中编译和部署合约:

Typing‘truffleconsole’intheterminaltolaunchtheTruffleconsole.

使用compile命令编译合约,使用migrate命令部署合约。

我们现在要做的是检索已部署的TokenCreator的实例。然后,进行两次调用createToken函数,并保存每个新创建合约的地址。

8200为强弱分水岭 未明确上破前勿轻言见底:据OKEx季度合约数据显示,本周以来BTC季度合约价格一直处在8200美元下方区域呈弱势盘整格局运行,虽然在7600一线出现止跌迹象,但反弹力度非常有限。OKEx分析师Charles认为,当前市场中期走势依然处在非常明确的空头趋势之中,包括BTC、ETH、EOS在内的一众主流币种反弹高点呈现出不断下移态势,而且每次反弹成交量始终难以放大。与此同时国际金融市场动荡,虽然与币市直接关系不大,但也会一定程度引发市场担忧情绪,现在言底为时尚早。建议后期可以重点关注8200美元附近,该价位可看做中短期走势强弱分水岭,即价格在其上则为强,价格在其下则为弱。不过虽然目前还属于下跌趋势,但由于近期绝对跌幅较大,市场中的主动性卖出力量大幅降低。再加之7000-7600是前期密集成交区,短时间直接有效跌穿概率较小,币价于低位震荡格局运行概率偏大,此走势类型切忌追涨杀跌。BTC日内阻力关注7800,支撑关注7400。[2020/3/12]

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意味着什么?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

币赢UTP:Gate.io 双周报2020年12月第2期_tps币行情

Gate.io双周报为您囊括平台周期热点,助您快速掌握平台动态,状态持续“在线”。本周期Gate.io网格交易资金量突破3亿元,收益突破500万元,网格交易赛火热进行中;推出首届杠杆ETF每日赛.

[0:15ms0-3:167ms