dolphinnet

module
v0.0.0-...-28a9180 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2026 License: MIT

README


Dolphinet Logo

Dolphinet

🚀 高性能、EVM兼容的区块链

CI Status Go Report Card codecov License Discord

快速开始架构文档贡献许可证


✨ 什么是 Dolphinet?

Dolphinet 是一个高性能区块链平台。它提供了完整的 Layer 1 解决方案,包括共识层、执行层、部署工具和跨链通信能力。

🌟 核心特性

  • ⚡ 高性能: 基于 OP Stack 的优化架构,提供低延迟和高吞吐量
  • 🔒 安全可靠: 继承以太坊的安全模型,支持跨链验证
  • 🔧 EVM 兼容: 完全兼容以太坊虚拟机,支持现有的智能合约和工具
  • 🌉 跨链互通: 内置跨链消息传递和资产桥接功能
  • 🛠️ 开发者友好: 完整的开发工具链和部署自动化

🚀 快速开始

环境要求

  • Go 1.22+
  • Node.js 18+
  • Docker & Docker Compose
  • Foundry (可选,用于智能合约开发)

克隆仓库

git clone https://github.com/Dolphinet-labs/Dolphinet.git
cd dolphinnet

本地开发网络

# 安装依赖
go mod download

# 启动本地开发网络
just devnet-up

# 查看服务状态
docker ps

运行节点

# 构建 dn-node
just dn-node

# 运行节点(连接到测试网)
./bin/dn-node \
  --network=op-sepolia \
  --l1=ws://localhost:8546 \
  --l1.beacon=http://localhost:4000 \
  --l2=ws://localhost:9001 \
  --p2p.listen.tcp=9222 \
  --p2p.listen.udp=9222 \
  --rpc.port=7000

🏗️ 架构

Dolphinet 采用了模块化架构,由多个核心组件组成:

┌─────────────────────────────────────────────────────────────┐
│                          Dolphinet                          │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │ dn-deployer │ │  dn-program │ │  dn-service │            │
│  │ (部署工具)   │ │ (故障证明)   │ │ (公共服务)  │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │   dn-node   │ │dn-supervisor│ │   common    │            │
│  │ (共识层)     │ │ (跨链监督)   │ │ (共享库)    │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│                    OP Stack (op-geth)                       │
└─────────────────────────────────────────────────────────────┘

核心组件

组件 描述 主要功能
dn-node 共识层客户端 区块构建、验证和中继(Layer 1)
dn-service 公共服务库 共享的区块链服务功能
dn-deployer 部署工具 自动化Layer 1链部署和配置
dn-program 证明程序 链下计算和证明生成
dn-supervisor 跨链监督器 跨链安全验证和依赖管理
common 共享库 合约、类型和工具函数

📚 文档

快速链接

🧪 测试

# 运行单元测试
go test ./...

# 运行集成测试
just test-integration

# 运行端到端测试
just test-e2e

🤝 贡献

我们欢迎所有形式的贡献!请查看我们的 贡献指南 了解详细信息。

开发环境设置

# 安装开发依赖
just install-dev

# 运行代码检查
just lint

# 格式化代码
just fmt

寻找任务

🌐 社区

加入我们的社区,获取帮助和分享想法:

🔒 安全

我们非常重视安全性。如果您发现安全漏洞,请勿在公开渠道报告。请按照我们的 安全政策 进行报告。

📄 许可证

本项目采用 MIT 许可证。有关更多信息,请查看 LICENSE 文件。


Dolphinet Labs 构建

GitHub文档DiscordTwitter

Directories

Path Synopsis
common
dn-deployer
cmd/dn-deployer command
cmd command
metrics
Package metrics provides a set of metrics for the dn-node.
Package metrics provides a set of metrics for the dn-node.
p2p
pos
rollup/derive
Package derive provides the data transformation functions that take L1 data and turn it into core blocks and results.
Package derive provides the data transformation functions that take L1 data and turn it into core blocks and results.
rollup/sync
Package sync is responsible for reconciling L1 and core.
Package sync is responsible for reconciling L1 and core.
dn-program
client/cmd command
host/cmd command
apis
Package apis provides Go interfaces for most RPC / HTTP APIs used in the OP-Stack.
Package apis provides Go interfaces for most RPC / HTTP APIs used in the OP-Stack.
clock
Package clock provides an abstraction for time to enable testing of functionality that uses time as an input.
Package clock provides an abstraction for time to enable testing of functionality that uses time as an input.
ctxinterrupt
Implements interrupts: events that normally signal intent to cancel a Context, but may be repeated to encourage closure of new Contexts used to clean up resources.
Implements interrupts: events that normally signal intent to cancel a Context, but may be repeated to encourage closure of new Contexts used to clean up resources.
eth
log
rpc
sources
Package sources exports a number of clients used to access ethereum chain data.
Package sources exports a number of clients used to access ethereum chain data.
testlog
Package testlog provides a log handler for unit tests.
Package testlog provides a log handler for unit tests.
tls
This file contains CLI and env TLS configurations that can be used by clients or servers
This file contains CLI and env TLS configurations that can be used by clients or servers
tls/certman
Package certman provides live reloading of the certificate and key files used by the standard library http.Server.
Package certman provides live reloading of the certificate and key files used by the standard library http.Server.
dn-supervisor
cmd command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL