Ubuntu Python 多版本安装
概述 由于 Python 3 有几次较为跳跃的更新,导致大量使用 Python 3 作为开发工具的软件会对 Python 3 的版本进行严格限制,如限制使用 Python 3.8 - Python 3.9 版本。这要求开发者开发环境内应具有多版本的 python 。在 Ubuntu 等 Linux 系统下,Python 的安装都是使用的源码编译方法,这对一些 Python 开发者并不友好,本文会给出一种较为简单的多版本 Python 安装方法。 ...
概述 由于 Python 3 有几次较为跳跃的更新,导致大量使用 Python 3 作为开发工具的软件会对 Python 3 的版本进行严格限制,如限制使用 Python 3.8 - Python 3.9 版本。这要求开发者开发环境内应具有多版本的 python 。在 Ubuntu 等 Linux 系统下,Python 的安装都是使用的源码编译方法,这对一些 Python 开发者并不友好,本文会给出一种较为简单的多版本 Python 安装方法。 ...
概述 ENS 是一个以太坊上的开放、可拓展的命名系统,也是目前在以太坊中最常用的命名系统。ENS 的功能是将人类较难判读的以太坊地址转化为人类可读的名字,如 vitalik.eth 。 ...
概述 在 ETHBeijing 黑客松活动中,我花费三天时间构造了多方资产发送和聚合工具——TxRouter 工具。本文主要介绍该工具的具体功能、使用方法以及构造思路。 项目优势 TxRouter 是资产多方发送和聚合工具。更加详细的说,该工具解决了以下问题: ...
概述 Huff 是 EVM 专用语言,与 Solidity 不同,Huff 是面向底层的语言,可以类比与汇编语言。这意味着开发者可以直接操作栈、内存和存储等内容,但另一方面,这些底层操作往往没有安全保证,这需要开发者更加仔细的审计和测试代码。本文章由于涉及大量 EVM 底层操作,希望读者阅读过以下文章: ...
概述 本文以较为简单的 WETH 合约为例,介绍在 Foundry 架构中常用的几种较为高级的测试方法,如下: Fuzz Testing 基于属性的单元测试的升级版 Invariant Testing 基于随机数据整体调用的测试 Formal Verification 形式化证明 本文也会给出上述测试手段的 github ci 配置文件。 ...
问题 如果读者熟悉我,应该会发现我经常使用 VSCode 作为主力编辑器,但随着我安装的 VSCode 的插件逐渐增加,我发现对于部分较小的任务使用 VSCode 过于笨重,比如简单的 Markdown 文件编辑工作。 ...
声明,本文译自 pandas with hundreds of millions of rows。 如果您的英语水平较好,可以阅读原文。为了译文更加流畅,译者补充了部分内容。 问题 我们希望获得国内航班平均延误最长的 5 个美国机场。 ...
概述 在之前的两篇文章中,我们讨论了对以太坊常规数据的导入和分析。文章链接如下: Clickhouse 以太坊分析:基础交易数据清洗 Clickhouse 以太坊分析:交易日志分析 如果您未阅读过以上文章并不影响您继续阅读本篇文章,本文内所有数据集均提供下载链接。 ...
概述 在上一篇中,我们介绍了如何使用 Clickhouse 进行基础的信息提取,这些信息往往依赖于以太坊底层机制,我们只能获得如 ETH 转账、 gas 等信息,这些信息并没有涵盖以太坊中最重要的智能合约的相关数据。这使我们无法获得 ERC-20 代币转账或 NFT 转移等数据。 ...
概述 本文主要介绍标准NFT实现的一个变体,即ERC721A合约实现的相关细节。ERC721A是由著名NFT系列Azuki提出,该系列NFT是著名的蓝筹NFT。本文主要聚焦于Azuki提出的ERC721A合约的代码细节分析。 与传统的ERC721实现相比,ERC721A在批量铸造(batch mint)方面具有显著的gas优势,这得益于ERC721A的惰性初始化方面的设计。关于ERC721A与普通ERC721实现的对比,我们将会在下文展开说明。 ...