solidity
feifeilb
架构设计爱好者
展开
-
Solidity开发模式 - 内存数组构建
目的高效地使用gas从合约中汇总或提取数据动机与区块链合约的存储进行交互是EVM最昂贵的操作之一。因此,只应保存必要的数据,果可能,应避免冗余。这与传统的软件架构形成鲜明对比,传统的软件架构存储成本低,数据存储用来优化性能。虽然大多数情况下,传统系统查询的唯一成本就是时间,但在以太坊中,即使最简单的查询也会花费大量具有货币价值的gas。降低gas成本的一个方式是声明变量为public,后台会...翻译 2019-09-10 22:40:16 · 522 阅读 · 0 评论 -
Solidity开发模式 - 紧密变量打包
目的优化存储加载定长变量的gas消耗动机这个模式的主要目的就是节约gas。这种特殊模式很容易应用,它不会影响任何合约逻辑。所要做的就是按照正确顺序声明状态变量。我们利用EVM分配存储的方式,减少合约部署gas,以及方法调用成本。以太坊存储是一个键值存储,键值都为32字节。分配存储时,所有定长变量(除了映射和动态数组)都会按声明顺序从位置0开始依次写下。最常用数据类型(例如byte32, ui...翻译 2019-09-10 22:41:21 · 341 阅读 · 0 评论 -
Solidity开发模式
前面写了智能合约开发模式总结了针对智能合约开发的通用模式,原文中还有一些模式只适用于Solidity开发,选出认为不错的几篇翻译整理。本文介绍的每个模式都含有实例代码(Solidity 0.4.20)和详细说明。安全转账 - 确保安全转账以太币内存数组构建 - 高效地使用gas从合约中汇总或提取数据紧密变量打包 - 优化存储加载定长变量的gas消耗参考文章Solidity Patter...原创 2019-09-10 22:44:01 · 172 阅读 · 0 评论