本文介绍: 在以太坊上发布了这么多与代币有关的合约,那么以太坊是如何控制这些代币的呢?例如,代币转账可以通过以太坊钱包完成,那么第三方的以太坊钱包怎么会知道我自己发布的代币如何转账、转账多少、余额是否够转账呢?以太坊的精髓就是利用代码规定如何运作,由于在以太坊上发布智能合约是不能修改和删除的,所以智能合约一旦发布,就意味着永久有效,不可篡改。这个过程相当于面向对象中的多态,也就是多个类实现同一个接口,只要将不同类的实例赋给同一个接口变量,这个接口变量就可以调用这些实例中相应的方法。

代币合约

在以太坊上发布代币就要遵守以太坊的规则,那么以太坊有什么规则呢?以太坊的精髓就是利用代码规定如何运作,由于在以太坊上发布智能合约是不能修改和删除的,所以智能合约一旦发布,就意味着永久有效,不可篡改。

在以太坊上发布了这么多与代币有关的合约,那么以太坊是如何控制这些代币的呢?例如,代币转账可以通过以太坊钱包完成,那么第三方的以太坊钱包怎么会知道我自己发布的代币如何转账、转账多少、余额是否够转账呢?答案就是代币接口(TokenInterface),这个接口就是ERC20 Token。

只要代币智能合约遵循这个接口,那么任何以太坊钱包都会支持这个代币。

ERC20 Token接口

ERC20 Token接口是一套编写智能合约的规范,也就是规定智能合约必须有扫描获取学习资源什么函数及函数的参数和返回值。

然后以太坊钱包和其他客户端会根据ERC20Token接口与相应的智能合约交互。

这个过程相当于面向对象中的多态,也就是多个类实现同一个接口,只要将不同类的实例赋给同一个接口变量,这个接口变量就可以调用这些实例中相应的方法。

不过在智能合约中实现接口并不需要继承,因为智能合约支持非侵入式接口。

也就是说,完全两个完全不同的合约只要拥有相同的函数(包括函数名、函数参数和函数返回值类型都相同),就认为这两个合约互为接口。

在这里插入图片描述

原文地址:https://blog.csdn.net/zhuyufan1986/article/details/135557212

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_56328.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注