five

verified-smart-contracts

收藏
github2025-11-12 更新2025-11-23 收录
下载链接:
https://github.com/bodyAce15/Ethereum-SmartContract
下载链接
链接失效反馈
官方服务:
资源简介:
已验证智能合约是一个真实的以太坊智能合约数据集,包含Solidity和Vyper源代码。该数据集包含截至2022年4月1日所有已部署的以太坊智能合约,这些合约已在Etherscan上验证并至少有一笔交易。数据集包含原始数据、扁平化数据、膨胀数据和解析数据等多个版本,提供了智能合约源代码的不同处理形式。

The Verified Smart Contracts dataset is a genuine Ethereum smart contract dataset that includes Solidity and Vyper source codes. This dataset covers all deployed Ethereum smart contracts as of April 1, 2022, which have been verified on Etherscan and have at least one transaction. The dataset contains multiple versions such as raw data, flattened data, augmented data, and parsed data, providing various processed forms of smart contract source codes.
创建时间:
2025-11-12
原始信息汇总

已验证以太坊智能合约数据集概述

数据集基本信息

  • 数据集名称:已验证以太坊智能合约数据集
  • 数据来源:以太坊区块链上已部署的智能合约
  • 验证平台:Etherscan
  • 数据截止时间:2022年4月1日
  • 筛选条件:在Etherscan上已验证且至少有一笔交易

数据集组成及规模

原始数据集(Raw)

  • 数据量:8.80 GiB
  • 合约数量:2,217,692个
  • 源代码行数:839,665,295行

扁平化数据集(Flattened)

  • 数据量:1.16 GiB
  • 合约数量:136,969个
  • 源代码行数:97,529,473行

拆分文件数据集(Inflated)

  • 数据量:0.76 GiB
  • 文件数量:186,397个
  • 源代码行数:53,843,305行

解析数据集(Parsed)

  • 数据量:4.44 GiB
  • 条目数量:4,434,014个
  • 代码行数:29,965,185行(函数代码+函数文档)

数据集描述

原始数据集

  • 包含从Etherscan下载的原始数据
  • 使用smart-contract-downloader工具标准化不同合约格式
  • 转换为扁平化源代码结构

扁平化数据集

  • 包含所有必需库代码的智能合约
  • 每个"文件"在源代码中用注释标记原始文件路径
  • 使用0.9相似度阈值进行去重过滤

拆分文件数据集

  • 将每个合约拆分为代表文件
  • 使用0.9相似度阈值进行去重过滤

解析数据集

  • 从拆分文件数据集中解析Solidity代码的提取
  • 包含合约类和函数定义以及相关文档
  • 使用solidity-universal-parser进行代码解析

数据处理方法

过滤机制

  • 使用Jaccard指数计算字符串距离
  • 扁平化数据集按合约名称分组比较
  • 拆分文件数据集按文件名分组比较
  • 相似度阈值为0.9

数据格式

  • 主要使用parquet文件格式
  • 大多数文件包含30,000条记录

许可证信息

  • 数据集代码库使用MIT许可证
  • 所有合约均为公开可用,通过Etherscan API获取
  • 合约受其各自原始许可证约束

可用位置

数据集可在Hugging Face平台获取:https://huggingface.co/datasets/andstor/smart_contracts

搜集汇总
数据集介绍
main_image_url
构建方式
在区块链技术迅猛发展的背景下,verified-smart-contracts数据集通过Etherscan API系统性地收集了截至2022年4月1日所有已部署且经过验证的以太坊智能合约。这些合约不仅包含Solidity和Vyper源代码,还要求至少发生过一次交易记录,确保了数据的实用性和代表性。数据获取后,利用smart-contract-downloader工具进行标准化处理,将多种合约格式统一为扁平化结构,并通过脚本转换为parquet格式,便于后续分析与存储。
特点
该数据集以其全面性和多样性著称,涵盖了超过200万条原始智能合约记录,总代码行数接近8.4亿行。其独特之处在于提供了四种不同处理层级的数据:原始数据保留了合约的初始状态;扁平化数据整合了必要的库代码并标记源文件路径;膨胀化数据将合约拆分为独立文件;解析数据则提取了合约类、函数及文档等结构化信息。这种分层设计有效支持了从基础代码分析到高级语义研究的多种应用场景。
使用方法
研究人员可通过Hugging Face平台直接访问该数据集,利用提供的Python脚本进行灵活的数据处理。例如,使用2parquet.py脚本可将原始数据转换为列式存储格式,filter_data.py能基于Jaccard指数进行相似性过滤以去除重复代码,而parse_data.py则借助solidity-universal-parser实现代码的语法解析。用户还可通过2plain_text.py生成纯文本版本,满足不同机器学习模型的输入需求,为智能合约安全性检测和代码模式研究提供标准化数据基础。
背景与挑战
背景概述
随着区块链技术的蓬勃发展,以太坊智能合约作为去中心化应用的核心组件,其安全性与可靠性日益成为学术界与工业界关注的焦点。verified-smart-contracts数据集由研究者André Storhaug于2022年4月构建,整合了以太坊区块链上所有已验证的智能合约源代码,涵盖Solidity与Vyper两种主流编程语言。该数据集通过系统化采集与处理Etherscan公开数据,为智能合约代码分析、漏洞检测及形式化验证研究提供了大规模真实场景数据支撑,显著推动了区块链安全生态的实证研究进程。
当前挑战
在智能合约领域,代码复用导致的同质化问题严重阻碍了模型训练与泛化能力评估。verified-smart-contracts构建过程中面临嵌入式库代码泛滥的挑战,需通过Jaccard指数相似度阈值过滤实现数据去重。同时,异构源代码的结构归一化要求开发多阶段处理流水线,从原始数据提取到语法解析均需克服合约格式碎片化难题。这些技术瓶颈的突破为后续智能合约语义理解与安全属性验证奠定了数据基础。
常用场景
经典使用场景
在区块链智能合约安全分析领域,verified-smart-contracts数据集为研究者提供了大规模真实环境下的Solidity与Vyper合约源代码。其经典应用场景集中于智能合约漏洞检测模型的训练与验证,通过解析合约函数结构及嵌入的库代码,支持静态分析与机器学习方法对重入攻击、整数溢出等常见安全威胁进行系统性识别。
衍生相关工作
基于该数据集衍生的经典工作包括智能合约漏洞知识图谱构建与跨合约调用分析框架。研究者通过解析后的函数级代码单元,开发出支持多跳查询的合约依赖关系追踪系统,同时催生了结合NLP技术的智能合约文档自动化生成工具,为合约可读性提升提供了新范式。
数据集最近研究
最新研究方向
在区块链智能合约安全领域,verified-smart-contracts数据集正推动着前沿研究的深入发展。该数据集整合了截至2022年4月的以太坊已验证合约源码,为智能合约漏洞检测与模式分析提供了大规模真实样本。当前研究聚焦于基于深度学习的合约安全审计,通过解析数据集中的Solidity与Vyper代码结构,构建智能合约缺陷预测模型。随着DeFi应用安全事件的频发,该数据集被广泛应用于重入攻击、整数溢出等典型漏洞的自动化识别研究,同时支撑着合约代码相似性检测与优化策略探索。这些工作显著提升了智能合约的可靠性与区块链生态的安全水位,为构建可信智能合约体系奠定了数据基石。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作