我正在审查OpenZeppelin的智能合约,在许多情况下,我发现往往存在冗余或重复的继承。
contract ERC20 is IERC20, IERC20Metadata {}
interface IERC20 {}
interface IERC20Metadata is IERC20 {}
在本例中,ERC20实现了已经实现了IERC20的IERC20元数据。尽管如此,合同实现了这两个。我试着移除冗余接口,效果很好。这有什么原因吗?是否仅出于清晰或易读目的?
这段代码的作者在评论中指出:
这在技术上是不必要的,但明确一点是好的。
指导编写一个EOSIO的智能合约 模块 Account API 查询账户数据的API. Chain API 查询链内部状态的API. Database API 存储和检索EOS.IO区块链的数据API根据以下广泛结构来组织数据. Math API 定义常用的数学函数. Action API 定义用于查询操作属性的API. Memory API 定义常用的记忆功能. Console API 使应用程
编程语言 使用golang作为编程语言(对部分关键字限制,以保证处理的有序性),而不是重新创造编程语言。 golang是一个简单、易用的编程语言,它有完善的帮助文档和开发工具。 它是强类型校验,编译阶段就能够校验发现很多bug。 它是模块化的,本系统能够简单屏蔽外部功能,使智能合约处在简单可预期的环境中。 已经有大量的golang开发人员,他们如果要开发智能合约,非常容易上手。 智能合约的分类 公
介绍 EOSIO 智能合约 编写智能合约需要的必备技能 C / C++ 相关 基于 EOSIO 的块链使用的是 WebAssembly(http://webassembly.org/) (WASM) 来执行用户编写的智能合约。WASM 是一种新兴的 Web 标准,广泛支持于谷歌、微软、苹果等。对编写 WASM 标准的智能合约来说使用 clang/llvm(https://clang.llvm.or
原文:http://zeppelin-solidity.readthedocs.io/en/latest/bounty.html 这个例子结合了Truffle框架,如果你不知道如何集成,可以先看看,还挺方便的:http://me.tryblockchain.org/obust-smart-contracts-with-openzeppelin.html 要为你的合约创建一个赏金项目。需要继承父类B
StandardToken继承的父类方法,相比StandardToken,这个类只提供基础功能,而StandardToken允许授权给其它人额度来转发代币。 balanceOf(address _owner) constant returns (uint balance) 返回传入地址的余额。 function balanceOf(address _owner) constant returns
基于FirstBlood的代码:原始的firstBlood的代码在这里。 继承了合约SafeMath,实现了ERC20标准(标准参见:https://github.com/ethereum/EIPs/issues/20)。 原文地址:http://zeppelin-solidity.readthedocs.io/en/latest/standardtoken.html 源码地址:https://g