区块见闻 区块见闻
Ctrl+D收藏区块见闻

UFF:跟我学 Solidity :合约的创建和继承_DreamTeam

作者:

时间:

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

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

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

合约创建

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

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

//SPDX-License-Identifier:GPL-3

functionchangeName(bytes32newName)public{if(msg

Gate.io“天天理财” 第159期 GT锁仓挖矿赚USDG明日开启:据官方公告,Gate.io 将于3月19日(明日)中午12:00上线《Gate.io“天天理财”第159期 GT锁仓挖矿赚USDG》,总额度 3,000,000 GT,锁仓期限7天。[2021/3/18 18:57:14]

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

Gate.io 将开通FIC充提服务及已开通BCHA充提服务:据官方公告,Gate.io将全面开通FIC(Filecash)主网币充值和提现服务(目前交易服务已开放);现已开通BCHA(BCHABC)充值和提现服务。风险提示:开通FIC充值服务以后,外部资金可能流入平台,造成FIC流通量上升,请务必注意价格变化,提前调整市场挂单,切勿追高。[2020/11/19 21:21:08]

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

}

代码

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

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

>mkdirtoken>cdtoken>truffleinit

Gate.io 理财宝今日USDT锁仓理财12点开启:据官方公告,Gate.io“天天理财” 第38期USDT锁仓理财将于今日中午12点开启,锁仓7天;USDT理财体验金活期福利专场正持续进行中。Gate.io理财宝两大专区含各大主流币种与热门币种理财项目。[2020/11/18 21:10:00]

打开项目,并更新truffle-config

;

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

Typing‘truffleconsole’intheterminaltolaunchtheTruffleconsole.

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

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

GateChain主网v1.0.3新升级 可通过保险账户进行PoS委托挖矿:GateChain主网已进行v1.0.3最新升级,增加通过保险账户进行PoS委托挖矿特性,可解决大额资金参与PoS挖矿的安全担忧。本次主要升级内容为:1.共识协议版本升级到v3,升级高度69834;2.调整每个区块奖励分配给三个选中共识节点的比例为40%、33%、27%,权重小的节点可以获得更多奖励;3.保险账户增加委托交易、转移委托交易、解除委托交易、提取挖矿收益共4种委托类交易类型;4.调整每笔交易的手续费最低为0.01GT。据悉,本次升级后,GateChain将加速主网币映射和开放共识节点建设进度。[2020/7/24]

Bytyping‘tokenCreator

...}

抽象合约

如果合约中的至少一个函数没有实现,则合约需要标记为abstract。即使实现了所有函数,合约也可能被标记为abstract。

抽象合约通过使用关键字abstract来完成,未实现的函数应具有关键字virtual以表示允许多态

动态 | Bitcoin IRA与BiGo达成合作推出以1亿美元投保的加密退休账户:据ambcrypto报道,数字资产IRA公司Bitcoin IRA宣布推出下一代投资退休账户(IRA)服务,用于加密资产。Bitcoin IRA的一个部门与BitGo Trust合作,BitGo Trust是专门为数字资产设立的托管机构。该伙伴关系的主要目标是为其用户基础提供有效的帐户资金,同时保持低费用(钱包费用降低近30%),以及显著增加1亿美元的保险保障。[2019/6/25]

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

标签:TOKENTPSDREUFFTokenariumhttps://etherscan.ioDreamTeamRUFF

抹茶交易所热门资讯
EFI:首发 | 解析造就比特币牛市的两大重要因素_kcs币发行价

本文作者为NewBloc策略分析师Barry,5年外汇黄金市场交易经历。授权金色财经首发。2021年新的周末,比特币仍在突飞猛涨.

BIT:美国政府对Bitgo处以罚款,因为它允许用户绕过使用加密货币的制裁_BITG

美国外国资产控制办公室因未能阻止受制裁国家/地区的用户使用其加密钱包服务而对Bitgo处以罚款。该机构表示,Bitgo处理了183项“明显违反多项制裁程序的加密货币交易”.

UFF:币安经纪商等级和权益体系上线_DREAM价格

亲爱的用户:为更好地服务币安经纪商用户,币安现推出经纪商等级和权益体系。欢迎跟单平台、量化机器人、资管策略方、社区平台、媒体等各流量平台加入币安经纪商.

ETP:比特币创下新高,再次突破了28000元大关,将冲击3万美金?_比特币走势图怎么看

比特币创下新高,目前再次突破了28000元大关,或将冲击3万美金?我们没上车的怎么做呢?实际上在二级交易市场当中,行情总是存在的当你没有抓住机会上车的情况下,也不要担心.

300:冯楚昊:多头疯狂迎接2021 上方顶部在哪儿?_以太坊

比特币多头又掀起了一轮风暴,2021到来之际,比特币也用一波酣畅淋漓的大涨来迎接新的一年,并且告别了多灾多难的2020,2020对于我们而言无疑是痛苦且不愿去回首的.

HTT:Gate.io BAS(BasisCash)活期理财火热进行中,今日年化收益率高达2300%_tps币行情

Gate.io上线BasisCash项目治理代币BAS挖矿DeFi理财,抵押BAS挖BAC稳定代币。收益按七日平均持仓发放,当前年化收益率约为500-3000%.