Truffle

The most popular blockchain development framework

Github stars Tracking Chart

Truffle

Truffle 是 Ethereum 的开发环境、测试框架和资产管道,旨在让 Ethereum 开发者的生活更加轻松。有了 Truffle,你可以得到:

  • 内置智能合约编译,链接,部署和二进制管理。
  • 使用 Mocha 和 Chai 进行自动合约测试。
  • 可配置的构建管道,支持自定义构建流程。
  • 可脚本化的部署和迁移框架。
  • 网络管理,用于部署到许多公共和私有网络。
  • 用于直接合同沟通的交互式控制台。
  • 开发过程中即时重建资产。
  • 外部脚本运行器,可在 Truffle 环境中执行脚本。

贡献者。请参阅本 README 的开发部分。

安装

$ npm install -g truffle

快速使用

对于默认的合同和测试集,在一个空的项目目录下运行以下内容:

$ truffle init

从那里,您可以运行 truffle 编译,truffle 迁移和 truffle 测试来编译您的合同,将这些合同部署到网络上,并运行其相关的单元测试。

Truffle 捆绑了一个本地开发区块链服务器,当你调用上述命令时,该服务器会自动启动。如果你想 配置更高级的开发环境,我们建议你在命令行运行 npm install -g ganache-cli 单独安装区块链服务器。

  • ganache-cli:Truffle 的区块链服务器的命令行版本。
  • ganache:一个服务器的 GUI,用于显示区块链服务器。服务器的 GUI,显示你的交易历史和链的状态。

文档

请参阅官方 Truffle 文档 以获得指导、提示和示例。

开发

我们欢迎拉取请求。要开始使用,只需将这个 repo 分叉,克隆到本地,然后运行。

# Install
npm install -g yarn
yarn bootstrap
# Test
yarn test
# Adding dependencies to a package
cd packages/<truffle-package>
yarn add <npm-package> [--dev] # Use yarn

如果你想把所有软件包的依赖关系更新到相同的版本,你可能会发现这个工具很有用。

关于项目分支的说明:

  • master: 稳定的,已发布的版本(v5)
  • beta:已发布测试版
  • develop:以稳定发布为目标的工作(v5)
  • next:即将进行的功能开发和大部分新工作

如果有任何实质性的改动,请对 next 提出拉取请求。小的改动和 bug 修复可以考虑用于 develop。

CONTRIBUTING.md 文件中有更多信息。

许可证

MIT

Main metrics

Overview
Name With Ownertrufflesuite/truffle
Primary LanguageTypeScript
Program languageJavaScript (Language Count: 9)
PlatformLinux, Mac, Windows
License:MIT License
所有者活动
Created At2015-06-29 19:46:53
Pushed At2024-04-22 08:47:19
Last Commit At2023-09-13 17:09:26
Release Count6531
Last Release Namev5.11.5 (Posted on )
First Release Name0.0.11 (Posted on )
用户参与
Stargazers Count14k
Watchers Count335
Fork Count2.3k
Commits Count16k
Has Issues Enabled
Issues Count2926
Issue Open Count508
Pull Requests Count2442
Pull Requests Open Count20
Pull Requests Close Count510
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

npm
npm
Join the chat at https://gitter.im/consensys/truffle
Join the community on Spectrum
Build Status
Coverage Status


Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. With Truffle, you get:

  • Built-in smart contract compilation, linking, deployment and binary management.
  • Automated contract testing with Mocha and Chai.
  • Configurable build pipeline with support for custom build processes.
  • Scriptable deployment & migrations framework.
  • Network management for deploying to many public & private networks.
  • Interactive console for direct contract communication.
  • Instant rebuilding of assets during development.
  • External script runner that executes scripts within a Truffle environment.