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库和工具产生更多需求。只要软件开发者愿意探索,就可以在这个领域找到很多机会。

评论

所有评论

推荐阅读

  • 5月16日晚间要闻速递

    1. ETH跌破3,000.00美元

  • 游戏平台Param Labs完成700万美元融资,Animoca Brands领投

    游戏平台Param Labs完成700万美元融资,Animoca Brands领投,Delphi Ventures和Cypher Capital参投。Param Labs的目标是建立一个由其原生PARAM代币管理的游戏生态系统,该代币即将推出。该公司的第一款游戏“Kiraverse”是一款边玩边赚钱的多人射击游戏。

  • 区块链SaaS解决方案AfriDex完成500万美元Pre-Seed轮融资,Endeavor Ventures领投

    总部位于英国伦敦的区块链软件即服务解决方案 AfriDex 宣布完成 500 万美元 Pre-Seed 轮融资,Endeavor Ventures 领投,African Crops Limited、Oldenburg Vineyards 和 Hank Oberoi 参投。AfriDex 目前主要专注于农业市场,通过全面的链上解决方案为供应链参与者提供支持和保护,利用区块链技术实现可追溯性、无摩擦支付、防欺诈交易、经过验证的认证、简化税收和补贴管理。(finsmes)

  • 以太坊上假冒NOT代币发生Rugpull

    据PeckShield监测,以太坊上假冒Notcoin NOT下跌100%。0xE0eB开头地址抛售了 1,645,040,633,338,481.95枚NOT并兑换为93.5枚WETH(价值28.13万美元)。 注:Rugpull代币与合法代币名称相同。

  • 瑞士联邦委员会计划实施加密资产报告框架以提高税收透明度

    瑞士联邦委员会(由七名成员组成,共同领导瑞士政府)打算实施加密资产报告框架(CARF),以提高税收透明度。15 日,联邦委员会发布了一份咨询文件,以调查加入国际税务机关合作打击偷税漏税的自动信息交换(AEOI)的民意。目前,瑞士加入 AEOI 的时间定于 2026 年 1 月 1 日。据悉,经合组织(OECD)为 20 国集团(G20)国家建立了 AEOI 和其他倡议,后来扩大到包括其他国家。瑞士此前在 2014 年采用了经合组织的共同报告标准(CRS),但未纳入监管加密资产及其提供商处理的 CARF。(Cointelegraph)

  • 埃及RWA金融科技初创公司Mnzl完成350万美元种子轮融资,P1 Ventures等领投

    金色财经报道,埃及RWA金融科技初创公司Mnzl宣布完成350万美元种子轮融资,P1 Ventures、Localglobe 和 Ingressive Capital领投,500 Global、Flat6Labs、First Circle Capital、Enza Capital、Beenok和一批未透露姓名的天使投资人参投。Mnzl 允许用户将汽车和房地产等非流动资产转换为流动资产,并将资产上传到数字钱包进行管理。

  • 4月加密项目融资额增环比增长3.8%至13.6亿美元

    Messari 发布 2024 年 4 月融资报告。2024 年 4 月,加密货币项目融资交易额环比增长 3.8%,达到 13.6 亿美元,自 2023 年 8 月低点(3.72 亿美元)以来持续 8 个月的增长趋势;但融资交易数量下降 16.7%,仅 259 笔。4 月网络领域的投资额占总投资额的 37.7%,大额融资项目包括 Monad(融资 2.25 亿美元)等。值得注意的是,4 月比特币 Layer2 项目激增,多个项目从隐身模式中脱颖而出。金融和基础设施领域也出现显著的融资活动,与前几个月相比,资本在各个类别中的分布更加均衡。

  • 摩根士丹利披露其对灰度GBTC投资近2.7亿美元,成为最大持有者之一

    5月16日消息,摩根士丹利(Morgan Stanley)在Q1提交给SEC的13F文件中披露,其通过灰度GBTC向现货比特币ETF投资了2.699亿美元。根据Fintel的数据,这笔投资使其成为继Susquehanna International Group(投资10亿美元)之后,GBTC的最大持有者之一。 摩根士丹利也是众多披露了对现货比特币ETF投资的全球系统重要性银行(G-SIB)之一,其他银行包括加拿大皇家银行、摩根大通、富国银行、法国巴黎银行和瑞银集团。

  • Coinbase计划为澳大利亚自助养老金部门提供服务

    Coinbase计划为澳大利亚的自助养老金部门提供服务。交易所亚太区总经理John O’Loghlen告诉彭博社:“我们不认为这会损害ETF玩家的利益。”Coinbase正在开发一项专门针对澳大利亚自助养老金部门的服务。自2019年3月以来,澳大利亚的自助基金越来越多地持有加密货币。根据澳大利亚税务局的最新数据,近10亿澳元(6.64亿美元)用于加密货币。成千上万的澳大利亚人使用自助养老金基金押注加密货币,甚至在2023年3月据路透社报道,有人损失了数百万美元。

  • 美国立法者:美SEC应在参议院投票前废除加密会计政策

    美国立法者 Wiley Nickel 在 5 月 15 日致美国证券交易委员会(SEC)主席 Gary Gensler 的一封信中表示,美 SEC 应在参议院投票前废除加密会计政策(SAB 121)。保护投资者是美国证券交易委员会的使命,然而 SAB 121 恰恰相反,它阻止了受到严格监管的美国银行大规模托管数字资产。此外,Wiley Nickel 批评美 SEC 在发布 SAB 121 时绕过了规则制定程序,他认为加密会计政策的目的是澄清现有政策,而不是制定新政策。 此前消息,白宫于 5 月 8 日发布「政府政策声明」表示,限制美 SEC 为加密资产维持全面有效的金融监管框架的能力,将带来严重的金融不稳定和市场不确定性。