多项式逼近及其应用:Huff实现

概述 在 上一篇文章 中,我们介绍了常见的几种有理多项式插值方法,但我们并没有给出具体的 Huff 语言实现及其测试。本文仍考虑在智能合约内实现以下公式: $$ f(x) = e^x $$ 与上一篇文章不同,本文不会进一步讨论具体的插值原理,而是主要介绍插值的实现及其误差测试。 ...

December 15, 2023 · 9 min · 4145 words · WongSSH

Cairo 实战入门:Starknet Foundry 与组件语法

概述 随着 Starknet Foundry 的进一步更新,使用 Starknet Foundry 进行 Cairo 智能合约开发可能会逐渐成为未来主流。 本文的主要内容实际上是介绍 cairo v2.3 引入的 Components 重大更新,但考虑 Starknet Foundry 的活跃开发,所以本文使用了 Starknet Foundry 作为开发框架,而不是与之前的文章一样使用 Cairo 自带的框架。 ...

November 16, 2023 · 15 min · 7471 words · WongSSH

多项式逼近及其应用:理论与计算

概述 在 solidity 的 gas 优化过程中,我们常会遇到一些复杂的数学计算,这些复杂的数学计算在 solidity 中实现往往是困难的且极其消耗 gas 的,本文将给出一系列通用的数学方法以实现使用多项式逼近复杂数学公式,并给出对应的相关代码。 ...

November 15, 2023 · 11 min · 5247 words · WongSSH

深入探索 Cairo: Sierra IR 与 Cairo 底层

概述 总所周知,在 StarkNet Cairo 中,合约需要经过以下步骤进行编译和部署: 在此流程中,我们发现合约首先被编译为 Sierra 这一中间表示层。Sierra 的全称为 Safe Intermediate Representation ,直译为安全中间表示层。在本文中,我们将探讨 Sierra 为什么具有 “安全” 和 “中间表示” 两个特性。 ...

September 17, 2023 · 21 min · 10143 words · WongSSH

Cairo 实战入门:可升级合约与跨链信息发送

概述 如果读者阅读过笔者之前的文章就会发现,我在 solidity 中使用了 ERC20 代币 -> 可实升级合约的学习路径。为了保持文章的统一性,我准备在此文中介绍 cairo 的可升级合约编程。 ...

July 29, 2023 · 18 min · 8888 words · WongSSH

Cairo 实战入门:编写测试部署ERC-20代币智能合约

概述 Cairo 是 ZK Rollup 的领域专用语言,目前仅用于 StarkNet 项目。随着 Rollup 叙事的发展,我们认为 cairo 在未来一定会成为智能合约开发的核心语言。 本文类似我之前编写的 Foundry教程:编写测试部署ERC-20代币智能合约 ,介绍了使用 cairo 1 v2 版本(该版本也可称为 Cairo 2) 进行编程、测试和部署的全流程。由于缺乏易用工具,本文放弃了本地测试网部署。 ...

July 6, 2023 · 22 min · 10994 words · WongSSH

Ubuntu Python 多版本安装

概述 由于 Python 3 有几次较为跳跃的更新,导致大量使用 Python 3 作为开发工具的软件会对 Python 3 的版本进行严格限制,如限制使用 Python 3.8 - Python 3.9 版本。这要求开发者开发环境内应具有多版本的 python 。在 Ubuntu 等 Linux 系统下,Python 的安装都是使用的源码编译方法,这对一些 Python 开发者并不友好,本文会给出一种较为简单的多版本 Python 安装方法。 ...

July 5, 2023 · 2 min · 623 words · WongSSH

深入 ENS 系统

概述 ENS 是一个以太坊上的开放、可拓展的命名系统,也是目前在以太坊中最常用的命名系统。ENS 的功能是将人类较难判读的以太坊地址转化为人类可读的名字,如 vitalik.eth 。 ...

June 26, 2023 · 11 min · 5501 words · WongSSH

TxRouter使用指南

概述 在 ETHBeijing 黑客松活动中,我花费三天时间构造了多方资产发送和聚合工具——TxRouter 工具。本文主要介绍该工具的具体功能、使用方法以及构造思路。 项目优势 TxRouter 是资产多方发送和聚合工具。更加详细的说,该工具解决了以下问题: ...

April 10, 2023 · 7 min · 3021 words · WongSSH

Huff实战:编写测试极致效率数学模块

概述 Huff 是 EVM 专用语言,与 Solidity 不同,Huff 是面向底层的语言,可以类比与汇编语言。这意味着开发者可以直接操作栈、内存和存储等内容,但另一方面,这些底层操作往往没有安全保证,这需要开发者更加仔细的审计和测试代码。本文章由于涉及大量 EVM 底层操作,希望读者阅读过以下文章: ...

March 15, 2023 · 23 min · 11431 words · WongSSH