Bee

Bee is our node software written in Rust, allowing you to connect to the IOTA Tangle.

Last Update
07 October 2021
Next release

Joining the IOTA 2.0 DevNet

In development
Connection to the GoShimmer DevNet, receiving + parsing + storing messages.
Upcoming goals

Local Snapshots

In development
An implementation of local snapshots that allows the user to control the size of the node database.

New Plugin System

In development
Development of a more flexible plugin system to allow third parties to easily and safely extend bee capabilities.

Initial Coordicide Data Flow

In development
Implementation of the data flow as specified in https://github.com/iotaledger/IOTA-2.0-Research-Specifications/blob/main/2.4%20Data%20Flow.md

Autopeering

Defined
Automatically finds and updates peers in the network.

Tangle Crate

In development
Data-structure that holds messages and their metadata.

IOTA 2.0 API

In development
New IOTA 2.0 HTTP REST API.
Completed goals

MQTT Support

Complete
Completed Q3 2021
Adding support for the MQTT pubsub messaging protocol.

New Node Architecture

Complete
Completed Q3 2021
Based on the actor system Backstage in collaboration with the Chronicle team.

Initial Coordicide Network Layer

Complete
Completed Q3 2021
Implementation of the current version of GoShimmer, without libp2p, to join the IOTA 2.0 Devnet.

Coordicide Message Layout

Complete
Completed Q3 2021
Development of the message layouts according to the Coordicide specifications.

New Serialization-Deserialization Layer

Complete
Completed Q3 2021
A no_std version of our previous serialization framework.

New Event System

Complete
Completed Q3 2021
Improvements to the current event system.

Documentation

Complete
Completed Q3 2021
Development of the Bee documentation portal.

Beta Release

Complete
Completed Q2 2021
released
A beta release of Bee

Alpha Release

Complete
Completed Q1 2021
Alpha release of Bee

Dashboard Integration

Complete
Completed Q1 2021
Adding support for the new node dashboard GUI.

API

Complete
Completed Q4 2020
This is the interface between clients and the databases - an API to remotely ask for information and data. Modularly designed, it allows easy implementation of new architectures (REST, gRPC, …).

Messages

Complete
Completed Q4 2020
Implements the new atomic message layout of Chrysalis Part 2.

UTXO Ledger

Complete
Completed Q4 2020
Allows for faster and more exact conflict handling, deals with possible scenarios of reattaching invalid transactions. Will allow the protocol to support colored coins in the future.

Proof of Work

Complete
Completed Q4 2020
Allows the node to do proof of work.

Tangle

Complete
Completed Q4 2020
Implements the API for interacting with and manipulating the Tangle in a type-safe manner. This mirrors the flexible semantics of a garbage-collecting language while retaining the performance and ownership models of Rust.

Storage Layer

Complete
Completed Q4 2020
The storage layer of the Bee node. This is the interface between the Tangle and the databases. Modularly designed, it allows easy implementation of new backends (SQL, KV, …).

Network layer

Complete
Completed Q3 2020
Provides a simple and convenient way to exchange messages among neighboring nodes.

Gossip protocol

Complete
Completed Q3 2020
Allows the node to propagate transactions through the network.

White-flag

Complete
Completed Q3 2020
A simpler, conflict-ignoring approach that allows for faster and more efficient tip selection, eliminates certain attacks and significantly reduces the need for reattachments.

Binary-coded ternary (unification)

Complete
Completed Q2 2020
Interface to unify binary-to-ternary encodings.

Signature scheme

Complete
Completed Q2 2020
Implements the same signature schemes that guarantee authenticity in the current IOTA network as IRI v1.8.1.

Cryptographic primitives - Sponge, Curl, and Kerl

Complete
Completed Q2 2020
Implements the cryptographic hash functions called CurlP and Kerl. CurlP81 (a new type for CurlP with 81 rounds) and Kerl are the two cryptographic hash functions used by IRI v1.8.1.
Cancelled goals

Autopeering

Cancelled
Automatically finds and updates peers in the network.