Cointime

扫码下载App
iOS & Android

2023年报告:区块链中的Python现状

来源:Trading Strategy‘s blog  编译:Cointime Candice

本报告概述了2023年区块链软件开发生态系统中Python编程语言技术的现状。我们研究了使用Python或与Python相关的区块链项目和工具,以及为什么这种重叠很重要。我们为 Python 开发人员重点介绍令人期待的新项目和机会。

为什么这很重要?

Python是世界领先的编程语言之一,被评为“2022年最受欢迎的语言”。

以下是Python是头号首选语言的一些用途:

  • 数据研究
  • 量化金融
  • 交易自动化
  • 集成和测试
  • 软件自动化和DevOps

Python也被广泛应用于Web后端,小型和大型项目都选择在它之上构建软件即服务解决方案。在传统科技行业中,Instagram和Pinterest等排名前十的应用程序严重依赖Python。加密货币行业也不例外。集中的交易所在其后端API和集成中使用Python,并且已经这样做了十多年。

区块链、加密货币或协议项目想要吸引上述垂直领域的人才和建设者,应提供基于Python的开发解决方案。反之亦然,想要进入区块链行业的Python开发人员可以很容易地在这些特定领域找到机会。更成熟的Python工具通常可以被视为专业环境中采用的标志,并更容易进入传统企业。

Python和区块链生态系统的关联性

由于区块链严重的金融性质,以及Python在金融和数据研究方面的独特地位,有多个软件开发垂直领域的Python和区块链开发有重叠之处。

区块链通常不包含Python。通常,对于最小的区块链或协议项目,核心开发团队不支持Python。下面是一些典型的组件和集成。

通常会提供用于准系统区块链项目的定型区块链堆栈。

金融和数据研究活动与区块链、链上分析和去中心化金融(DeFi)重叠。交易与集中交易所(CEX)和分散交易所(DEX)重叠。这些活动至关重要,但往往不是软件开发中更为用户可见的元素的一部分,例如Web前端(以基于JavaScript的工具为主)或区块链核心(以Go和Rust为主)。

区块链生态系统的扩展视图。对于采用,Python软件开发生态系统围绕着区块链开发。因此,能够提供与Python的良好整合机会十分重要。

在传统的软件开发垂直领域之外,我们还有智能合约,我们可以在工具或智能合约本身的一部分中找到 Python。我们可以确定 Python 在安全和智能合约审计中起着至关重要的作用。

区块链开发生态系统的总体状况

Electric Capital 的《2022 年开发者报告》很好地概述了区块链开发生态系统的状态。尽管 2022 年是加密货币和科技股的熊市,但开发者数量逐年上升。

发展正在加速进行。 2022 年一半的新开发者进入该行业。

PyChain 2022

2022年,Trading Strategy组织了首届以Python为重点的区块链开发者会议PyChain。该虚拟活动有超过1200名注册者和500名并发流观众。自12月以来,PyChain YouTube 视频的观看次数已超过 5,000 次。

PyChain 2022包括来自众多区块链和协议的演讲,如Ethereum Foundation、NEAR、MultiverseX(以前称为Elrond)、Cosmos、Curve,但也包括从传统量化金融角度出发的演讲,涵盖了风险分析和策略回测等主题。

对于本报告后面的项目概述,我们会链接到相应的PyChain 2022演讲(如果有)。否则,我们会提供项目开发者文档的链接。

区块链开发中的Python垂直领域

以下是对2022年最佳利用Python的个别著名区块链项目的介绍和概述。

我们根据项目的垂直方向将项目分为:

  • 核心区块链和节点软件
  • 智能合约语言
  • 集成库
  • 智能合约开发框架
  • 交易
  • 数据研究,包括提取转换加载(ETL)解决方案
  • 安全和审计
不同区块链软件开发垂直领域的Python项目示例。

核心区块链和节点软件

尽管该任务在某种程度上是一个有争议的备选方案,但 Python 语言也用于核心区块链节点开发。

Chia

Chia 区块链核心软件是用 Python 编写的。 如果按单个节点数计算,Chia 声称是最去中心化的区块链。 Chia 提供独特的时空证明 (PoSt) 共识模型。 Chia 通过 ChiaLip 编程语言提供智能合约,并已在世界银行试点中使用。

Lamden 

Lamden是基于Python的高性能区块链平台,使每个人都能轻松使用和创建下一代dApps。

智能合约编程语言

Python和Python启发的语言正被用作几个区块链的智能合约编程语言。智能合约开发由Solidity和Rust主导。更具实验性的基于Python的方法很有趣,因为它们提供了更容易的代码可读性和可写性,并能使安全编译时间更有保证,从而创造一个更安全的生态系统。

Vyper

Vyper 是 Vitalik Buterin 于 2014 年创建的第一个智能合约编程语言 Serpent 的后代。 如今,Vyper 已用于许多 DeFi 应用程序的生产中,并在数十亿美元的交易中证明了它的稳定性。 这是对 Vyper 的简单 介绍。

SmartPy

Tezos提供SmartPy,它既是智能合约编程语言也是开发平台。它使用Python作为特定领域语言(DSL)。Tezos是一个经过验证的区块链,也是首批提供链上治理的区块链之一。

Seahorse

Solana提供Seahorse,是另一种用于智能合约编程的Python特定领域语言。Seahorse大大简化了智能合约的开发,但仍然提供类型安全和与基于Rust的智能合约的互操作性。Seahorse编译器生成中间的Rust人工制品,并使用Anchor库来完成繁重的工作。

PyTeal

PyTeal是另一种使用Python的特定领域语言。PyTeal让你可以为Algorand的交易执行批准语言(TEAL)编写合约。PyTeal程序为智能合约开发提供了方便和熟悉的语法。

集成库

集成库和软件工具包库用于使区块链与其他软件沟通。这包括网络前台和基于服务器的应用程序,如SaaS产品。最常见的用例之一是将加密货币支付集成到中心化交易所 (CEX) 或其他货币平台。

集成库可以让你查询链的状态,组装和广播你自己的交易。这些库使用远程程序调用(RPC)协议与区块链节点对话。常见的协议选择包括JSON-RPC和Protobuf。

Web3.py

Web3.py是Python的原始Web3工具箱。Web3.py是为以太坊主网创建的,由以太坊基金会维护。然而,它也被用于其他基于EVM的第一层和第二层区块链。

Pons

Pons是另一个用于以太坊和基于EVM的区块链的Python库。Pons使用异步编程模型,目前正处于实验阶段。

用以太坊登录

使用 Ethereum (SIWE) for Python 登录为你带来了使用以太坊钱包无密码登录体验。 SIWE 提供内置安全性和与流行的 Python Web 框架(如 Django 和 Flask)的集成。 SIWE 适用于多种钱包,如 MetaMask 和所有基于 WalletConnect 的钱包。

CosmPy

CosmPy是一个Python库,用于与基于Cosmos SDK的区块链网络互动。CosmPy可用于转移代币、质押、执行原子互换、部署和与智能合约互动。

CosmPy目前由Fetch.ai维护。Cosmos SDK被用来构建多个不同的区块链,包括Osmosis、Stargazer、Cosmos Hub,然后与中继器连接。

Paloma.py

Python中的Paloma软件开发工具包(SDK)是一个简单的库工具包,用于构建可以与Paloma区块链互动的软件,并对核心数据结构、序列化、密钥管理和API请求生成提供简单抽象概念。Paloma是一个快速、无权限、Cosmos-SDK区块链,可以在任何其他区块链之间安全地移动信息。

xrpl-py

xrpl-py是一个Python库,用于与XRP Ledger(通常被错误地称为Ripple)互动。该库通过为XRP Ledger交易和核心服务器API提供本地Python方法和模型来提供序列化和交易签名。

IOTA钱包库

IOTA钱包库是基于Rust和Python的绑定。它可以用来与IOTA区块链互动,包括Shimmer。IOTA是一个基于定向无环图(DAG)的区块链,声称无交易成本。

NEAR-API-Py

NEAR-API-Py是一个Python库,用于开发使用NEAR平台的应用程序。NEAR是一个分片的高性能智能合约支持的区块链,拥有超过1000万个账户。

Py-near

Py-near是另一个用于NEAR区块链开发的Python库。它由HERE钱包维护。

Vega API 客户端

Vega协议是一个基于订单簿DEX的区块链,从一开始就面向专业交易者。出于这个原因,它将Vega API Python客户端作为协议的第一类客户端(而其他大多数协议只支持基于JavaScript的工具)。Vega 基于 Tendermind 共识,但不是我们所说的基于 Cosmos SDK。

Aptos Python SDK

Aptos提供了一个维护简单的官方Python SDK。目前,这仍在开发中,不适合直接与Aptos接口。

Python Substrate接口

Substrate是用于构建Polkadot链的SDK。Python Substrate Interface专门负责与Substrate节点的接口;查询存储,组成外部函数,编码/解码以及提供额外的便利方法来处理Substrate运行时的特性和元数据。

SolanaPy

Solana.py是用于与Solana交互的基础Python库。你可以用它来构建事务,并与Solana的JSON RPC API进行交互。

Solders

Solders是与Solana Rust SDK的Python绑定。它为Solana的核心任务(如交易签名和序列化)提供了强大的、高性能的解决方案,使我们无需在纯Python中重新实现Solana逻辑。

智能合约开发框架

智能合约开发框架为编写智能合约提供额外的工具。这包括:

  • 自动编译复杂的智能合约项目(想想UNIX Make for smart contracts)。
  • 智能合约的单元和集成测试框架,因为测试用例通常很麻烦,或者不可能用智能合约DSL语言本身来编写
  • 部署和脚本

ApeWorX

ApeWorX是一个面向Python开发人员、数据科学家和安全专家的智能合约开发框架。ApeWorX支持以太坊、基于EVM的区块链和StarkNet。

用于Python的MultiversX SDK

MultiversX SDK for Python(以前称为Elrond)为MultiverseX区块链提供智能合约的编译、测试和部署。

AnchorPy

AnchorPy是与Python中的Anchor程序进行交互的网关。Anchor是Solana的Sealevel运行时的一个框架,为编写智能合约提供几个方便的开发者工具。

SnekMate

SnekMate是一个最先进的、集中意见的、超优化的、安全的Vyper智能合约构建块的存储库。SnekMate包含基于Foundry的单元测试,基于属性的测试(即模糊测试),以及所有合约的不变性测试。

交易

正如报告前面提到的,Python是交易的头号编程语言,在加密货币和传统金融中都是如此。为了提高报告的效率,我们专注于开源解决方案;我们不列出用于中心化交易所、托管解决方案或其他专有 API 服务的客户端库。作为记录,除了这些开源解决方案,还有数百个使用Python的库和API。

交易策略

交易策略是一个用于去中心化金融(DeFi)市场的算法交易框架。它允许你使用高级Python编程和定量金融工具而不是Solidity来开发、回测和执行交易策略。目前,Trading Strategy支持以太坊、几个基于EVM的区块链、Uniswap v3、Aave v3借贷协议、Uniswap v2和兼容的DEXes。

Hummingbot

Hummingbot是一个加密货币的高频交易框架。Hummingbot专门从事中心化交易所的做市业务。

CCXT

CCXT是一个用于各种集中式交易所的集成库。CCXT是CryptoCurrency Exchange Trading Library的缩写。它提供了一个标准的API来做单

ETL

ETL是指提取——转换——加载(ETL)。它是指从一个系统中提取数据流,然后将这些数据转换为另一种格式的解决方案,通常更适合查询和商业分析。

区块链ETL

区块链ETL促进了区块链数据的数据科学。某些 EVM 链的区块链 ETL 在 Google BigQuery 中可用。

Web3——以太坊——Defi

Web3——以太坊——Defi是一个低级别的Python库,用于从各种区块链中提取DeFi交易数据。该项目除了提供高性能的数据提取,还提供交易执行原语。目前Web3——以太坊——Defi支持以太坊、几个基于EVM的区块链、Uniswap v3、Aave v3借贷协议、Uniswap v2和兼容的DEX。

安全性

由于其易读性和脚本性,Python是许多区块链和智能合约安全工具的基础。

Mythril

Mythril是一个用于EVM字节码的安全分析工具。支持为以太坊、Hedera、Quorum、Vechain、Roostock、Tron和其他EVM兼容区块链构建的智能合约。Mythril由Consensys维护。

Slither

Slither是一个用Python 3编写的Solidity静态分析框架。它运行一套漏洞检测器,打印有关合同细节的可视化信息,并提供一个API来轻松编写自定义分析。Slither使开发者能够发现漏洞,提高他们的代码理解力,并快速建立自定义分析原型。

Woke

Woke是一个基于Python的Solidity开发和测试框架。它提供了漏洞检测器、Solidity的语言服务器协议(LSP)和一个模糊器。Woke由Ackee维护。

Halmos

Halmos是一个用于以太坊智能合约字节码的符号化有界模型检查器,可用于漏洞检测以及合约的形式验证。Halmos用符号化的函数参数和符号化的存储状态来执行给定的合约字节码,让它能够探索所有可能的行为。它展开循环,允许它自动运行而不需要额外的用户注释。Halmos 证明任何输入都不会违反断言或提供反例。 Halmos 由 Andreessen Horowitz 维护。

其他应用

在这个类别中,我们还有其他基于 Python 的区块链项目。

rotki

rotki是一个开源的投资组合跟踪器、会计和分析工具,可以保护你的隐私。rotki的Python源代码可供检查。它是一个本地优先的应用程序,强烈关注用户隐私。你的财务数据被加密保存在你的系统中,不会被泄露,因此适用于基金和公司。

对2023年有什么期待

区块链技术已经开始从比特币和以太坊架构的双重垄断中走向多元化。虽然EVM仍然是占主导地位的解决方案,但随着新一代技术进入市场,它架构上的缺点也越来越明显。尽管向更具可扩展性、安全性和用户友好性的技术的任何变化都比我们期望的要慢,但它是在进行中的。

  • 专业化:Vega和Cosmos等用于交易和NFT的区块链正在首次进入市场。我们还不知道是专业化的应用链和通用区块链最终谁会胜出。
  • 可扩展性:NEAR 和 MultiverseX 等基于分片的解决方案开始成熟,提供可行的长期可扩展性。与短期的可扩展性不同,仅仅增加区块大小这样的权宜之计并不能提供长期的可扩展性,这些链正在被重新思考架构,以便它能够永远扩展。其他扩展解决方案包括像 Arbitrum 这样的 第二层协议,但目前,任何第二层协议的扩展解决方案都不提供超出普通 EVM 链的任何新的或有趣的功能。
  • 行业成熟度:经过惨痛的教训,区块链行业总体上正在走向成熟。熊市已经消灭了没有前景的项目和追逐轻松赚钱的员工队伍。
  • 对于下一层次的演变,工具需要改进:这包括面向终端用户的元素(钱包,DApps),面向专业的元素(数据可用性和格式),以及安全(更好的智能合约语言,防止编写可利用的代码)。

我们预计,随着行业的变化和发展,整合和访问数据的需求将对Python库和工具产生更多需求。只要软件开发者愿意探索,就可以在这个领域找到很多机会。

评论

所有评论

推荐阅读

  • BTC突破82000美元

    行情显示,BTC突破82000美元,现报82033.16美元,24小时涨幅达到0.37%,行情波动较大,请做好风险控制。

  • ETH突破2400美元

    行情显示,ETH突破2400美元,现报2400.26美元,24小时跌幅达到0.95%,行情波动较大,请做好风险控制。

  • 比特币现货ETF过去一周净流出2.28亿美元 月初至今达6.18亿

    10月18日,据Bitcoin Archive报道,比特币现货ETF过去一周净流出2.28亿美元;月初至今(month-to-date)净流出已达6.18亿美元。该账号以「Uptober 还能救回来吗」发问,借市场对10月传统上涨行情的预期,点出近期ETF资金流出的反差。

  • 前Mt. Gox CEO批评Ledger处置植入物事件 称其早在3月已知晓威胁

    10月18日,据Bitcoin News消息,前Mt. Gox首席执行官Mark Karpelès公开批评Ledger对硬件钱包供应链植入物攻击的处置。Karpelès称,Ledger早在2026年3月就已知晓该类威胁,却未向客户充分警示;他表示,出现可量产、自对齐式植入物的证据本应触发最高级别的安全响应,而不是把警告埋在Ledger Academy的一篇文章中。他还批评Ledger持续淡化事件,并质疑其与受影响客户的沟通。针对Ledger首席执行官Pascal Gauthier在回应中提及其Mt. Gox历史,Karpelès回击称:「我曾相信你们会吸取我的失败教训,做得比我更好。」

  • 霍尔木兹海峡7天报告12起船舶遇袭事件,专家称实际情况或更严重

    据伊朗劳工通讯社(ILNA)报道,根据英国海上贸易行动办公室的数据,过去7天内,约有12起船舶或油轮遭袭或被锁定为目标的事件。在此期间,约有254艘船舶通过霍尔木兹海峡,平均每天约36艘。该机构还报告称,累计记录了84起相关事件,其中74起涉及抛射物袭击。约四分之三的袭击发生在海峡南部航道。但实际发生的事件数量可能高于已公布的数据。约旦军事与战略专家、上校纳达尔·阿布扎伊德认为,部分船舶不愿报告受损情况,可能有两个原因:一是出于经济考虑,尤其是保险及相关成本;二是出于安全和军事方面的考量,以避免暴露油轮使用的航线。阿布扎伊德表示,公布船舶航行路线等信息,可能使外界更容易识别其航行规律,并增加这些船舶未来遭到袭击的风险。(金十)

  • 伊朗武装部队开火拦截霍尔木兹海峡“违规”通行船只

    10月18日,自伊朗方面获悉,当地时间17日18时15分,伊朗武装部队从锡里克地区附近向霍尔木兹海峡试图“违规”通行的船只开火,并将其拦截。(央视新闻)

  • 也门外长谴责伊朗借“调解”之名干涉也门

    据沙特媒体哈达斯(Alhadath)报道,也门外长表示,我们谴责伊朗外长阿拉格齐关于德黑兰所谓“在也门的调解”的言论。有关言论无法掩盖伊朗政权支持胡塞叛乱的责任。伊朗政权通过向胡塞武装提供武器、导弹和无人机,延长了战争,并使自己成为与也门人民作斗争的一方。伊朗应首先停止对也门的干涉和武装,而不是提出调解。同时,伊朗政府应尊重各国主权,遵守国际法和良好邻里原则。伊朗官员关于“调解”的言论对数十万伊朗武器受害者的家庭是一种挑衅。沙特阿拉伯一直是也门国家和人民的支持者,提供了经济、救援和发展方面的支持。胡塞武装拒绝了沙特方面提出的路线图,该方案旨在推动也门重返政治进程。伊朗试图将也门作为谈判筹码 。伊朗政府与政变民兵组织打交道,并不赋予其合法性,也不意味着该组织有权代表也门。

  • ETH跌破2400美元

    行情显示,ETH跌破2400美元,现报2399.44美元,24小时跌幅达到1.36%,行情波动较大,请做好风险控制。

  • 泽连斯基:乌能源设施遭俄军大规模袭击

    10月17日,据央视,当地时间17日,乌克兰总统泽连斯基表示,俄军对乌能源基础设施发动大规模袭击,12小时内动用超过320架“见证者”无人机及巡飞弹、巡航导弹和弹道导弹,造成乌全国超15处重要发电及输电设施受损。泽连斯基称,俄方试图在冬季来临前破坏乌能源供应,造成大范围停电。尽管乌军拦截了相当一部分来袭目标,但袭击规模大、持续时间长,能源设施受损严重。目前抢修工作仍在进行。

  • 过去24小时全网爆仓2.22亿美元,主爆多单

    10月17日,据CoinGlass数据,过去24小时加密货币市场总爆仓金额2.22亿美元。其中多单爆仓1.60亿美元,空单爆仓6143.83万美元,多单占比72.3%,共有71,183人被爆仓。分币种看,BTC爆仓约4352.24万美元,ETH约3632.22万美元,SOL约918.86万美元。Binance爆仓占比最高,为47.7%;最大单笔爆仓发生在Hyperliquid的BTC-USD交易对,价值509.66万美元,为多单,爆仓价81,122.00美元。