智能合约开发效率工具
概述 随着区块链的发展,智能合约的开发逐渐成为一片新的蓝海。与智能合约发展一同进步的其实还有一系列的智能合约开发工具和安全审计工具,但由于此方面很少有人介绍,导致大量新型工具并不为人所熟知。本文主要介绍智能合约开发和安全审计工具,以智能合约开发和测试为主线,依次介绍涉及以下方面的工具: ...
概述 随着区块链的发展,智能合约的开发逐渐成为一片新的蓝海。与智能合约发展一同进步的其实还有一系列的智能合约开发工具和安全审计工具,但由于此方面很少有人介绍,导致大量新型工具并不为人所熟知。本文主要介绍智能合约开发和安全审计工具,以智能合约开发和测试为主线,依次介绍涉及以下方面的工具: ...
概述 本文主要介绍如何在AAVE内进行质押、借贷等基本操作,为读者进一步研究AAVE源代码奠定坚实的基础。 本文要求读者具有以下条件: 熟悉以太坊钱包使用 拥有一定的GoerliETH测试网ETH,可前往Goerlin Faucet进行领取 上述条件可以保证读者可以理解本文的大部分内容,由于笔者本人具有较强的技术背景且未来准备编写AAVE智能合约解析系列文章,所以本文给出了部分合约裸交互(即直接与合约函数交互而并不通过网页),理解这一部分内容需要读者了解智能合约开发和cast使用。如果您不是技术人员,可以酌情跳过此部分。考虑到安全性问题,本文提供的裸交互均为eth_call而不涉及真正的交易(需要签名和区块确认的交易)。 ...
概述 我们在上一篇以太坊机制详解:Gas Price计算文章内介绍了以太坊中交易的具体gas计算相关规则。本篇文章将在此基础上介绍以下内容: 客户端如何构建一笔交易 服务端如何处理交易并进行打包 本文以一笔交易的生命周期为主线安排全文,从交易池初始化、交易构造到交易执行,尽可能为读者全景展示以太坊中的交易所涉及的方方面面。 ...
概述 使用双链笔记Obsidian进行个人知识管理日益成为主流。但部署Obsidian展示网站属于付费功能,这对于很多人来说是一个严重的阻碍。本文将介绍如何使用开源且免费的Quartz进行部署Obsidian笔记并介绍如何进行持续集成和部署。 在继续阅读前,读者可以前往此网站观察部署后的结果。 前置条件 阅读本文需要读者具有以下条件: 拥有一个Github账户 熟悉简单的Git概念,如stage和commit等 Fork仓库 首先前往Quartz的仓库地址,点击页面中的Use this template按钮,如下图: ...
概述 在深入解析Safe多签钱包智能合约:模块中分析FallbackManager模块时,限于篇幅限制且fallback合约自成一体,所以我们没有介绍具体的fallback模块。此篇文章的主要目的是完成这一缺陷,全面介绍fallback合约。 本文涉及的代码主要位于src/handler内,读者可自行查阅此仓库。 合理性分析 此节主要关注于我们为什么需要Fallback合约这一主题,希望可以为读者在后文阅读源代码时起到提纲挈领的作用。 ...
概述 关于以太坊的P2P网络问题,目前的资料较为零散,本文尝试结合具体的go-ethereum源代码,尽可能为读者完整介绍以太坊所使用的ÐΞVp2p(devp2p)网络架构和运转流程。 ...
概述 在上一篇博客中,我们已经讨论了safe合约的代理部署和核心的GnosisSafe合约。在此博客内,我们主要讨论在上一篇文章内没有介绍的safe合约内各个模块的概念和代码。我们会按照各模块在GnosisSafe合约内出现的顺序进行解释。 OwnerManager 在GnosisSafe.sol的setUp函数中,我们使用了此模块中的setupOwners函数。 此模块主要涉及签名者的管理等功能。 ...
概述 Safe(或称Gnosis Safe)是目前在以太坊中使用最为广泛的多签钱包。本文主要解析此钱包的逻辑设计和代码编写。 读者可以前往Safe Contracts获得源代码。 ...
概述 在以太坊London升级后,以太坊启用了EIP1559进行gas计算。由于EIP1559引入的新的gas机制较为复杂,所以我写了此文介绍了以太坊的gas机制。 ...
概述 本文主要介绍最小化代理合约EIP1167的相关内容。为了实现最小化,EIP1167使用了bytecode(字节码)作为主要编码方式,即直接使EVM汇编指令进行编写。本文将在openzeppelin提供的合约基础上,为读者逐个字节码的解析EIP1167,帮助读者理解EVM底层汇编和EIP1167的实现原理。 ...