Skip to content

Blazing-fast, modular Ethereum Swarm client in Rust

License

Notifications You must be signed in to change notification settings

nullisxyz/vertex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vertex

CI Status codecov

Modular, high-performance implementation of the Ethereum Swarm protocol

What is Vertex?

Vertex (pronunciation: /ˈvɜːrtɛks/) is a new Ethereum Swarm node implementation focused on being user-friendly, highly modular, and blazing-fast. Vertex is written in Rust and is compatible with all Swarm protocols including postage stamps, push/pull syncing, and the full storage incentives system. Built and driven forward by Nullis, Vertex is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

Goals

As a full Ethereum Swarm node, Vertex will allow users to connect to the Swarm network and interact with decentralised storage. This includes uploading and downloading content, participating in the storage incentives system, and being a good network citizen. Building a successful Swarm node requires creating a high-quality implementation that is both secure and efficient, as well as being easy to use on consumer hardware. It also requires building a strong community of contributors who can help support and improve the software.

More concretely, our goals are:

  1. Modularity: Every component of Vertex is built to be used as a library: well-tested, heavily documented and benchmarked. We envision that developers will import components like network protocols or chunk storage and build innovative solutions on top of them. The project is split into three main repositories:

    • vertex: The full node implementation
    • nectar: Core primitives and protocols specific to Ethereum Swarm
    • dipper: A CLI tool for interacting with Swarm (similar to cast in Foundry)
  2. Performance: Vertex aims to be the fastest Swarm implementation. Written in Rust with a focus on concurrent processing and efficient resource usage, we strive to optimize every aspect from chunk processing to network communication.

  3. Client Diversity: The Swarm network becomes more resilient when no single implementation dominates. By building a new client, we hope to contribute to Swarm's decentralisation and anti-fragility.

  4. Developer Experience: Through great documentation, ergonomic APIs, and developer tooling like dipper, we want to make it easy for developers to build on Swarm.

Status

Vertex is under active development and not yet ready for production use.

Getting Help

If you have questions:

License

Vertex is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for details.

Warning

This software is currently in development. While we strive for correctness, bugs may exist. Use at your own risk.

Releases

No releases published

Packages

No packages published