在手把手教你实现BigBank文章中,我们实现了一个稍微复杂点的存款、取款业务。但是聪明的你可能发现了,我们的BigBank虽然名字中带有big,但是有一个明显的缺点:它只能存入和取出ETH原生代币,面对广大的符合ERC20标准的Token却无能为力。
当工程规模变大时,把代码写到一个甚至几个文件中,都是不太聪明的做法,可能存在以下问题:单个文件过大,导致打开、翻页速度大幅变慢查询和定位效率大幅降低,只有有效的组织代码才能更好的维护代码
在手把手教你实现Bank智能合约这篇文章中,我们认真拆解了需求,罗列了相关的知识点,已经实现了基于权限控制的存款和取款逻辑。这篇文章,我们会提升难度,不仅仅要实现功能,还要思考怎么合理的去设计一个合约。
在前面的系列文章中,我们已经学习了solidity的一些基础概念和知识,单纯的知识点学习起来比较枯燥,这一节我们会通过一个简单的示例来将这些知识整合起来。我们期望实现一个名为Bank的合约。
以太坊被认为是一个世界计算机,它的运行需要耗费资源,为了确保网络不会被滥用和因错误的使用陷入宕机,任何交易的操作都需要支付一定的费用,这个费用我们可以简单称之为"Gas"。它代表了网络中执行操作所需的计算资源。
学习过面向对象语言的同学对于方法肯定不陌生,class里面就充斥着方法的概念。在Rust中,方法的概念也大差不差,往往和对象成对出现
枚举枚举(enum或enumeration)允许你通过列举可能的成员来定义一个枚举类型。
结构体struct是复合数据结构,它是由其它数据类型组合而来。其它语言也有类似的数据结构,不过可能有不同的名称,例如object、record等。
字符串在其他语言中,字符串往往是送分题,因为实在是太简单了,例如"hello,world"就是字符串章节的几乎全部内容了,但是如果你带着同样的想法来学Rust,我保证,绝对会栽跟头,因为在Rust中,它有很多不一样的东西。
截止到2024年6月,Uniswap已经推出三个上线的生产版本。第四个版本目前还在开发阶段