A bee node implementation in Rust 🦀.
Debian/Ubuntu
Linux based distros
sudo apt-get install -y protobuf-compiler
macOS
brew install protobuf
Windows
: Follow this stackover-flow discussion.
Debian/Ubuntu
Linux based distros
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Fow macOS
& Windows
follow the installation method from the official page.
git clone https://github.com/Ankvik-Tech-Labs/Rusty-Bee
cd Rusty-Bee
cargo build
cargo run
Currently, there is an issue with the handshake.proto
compiled file i.e. handshake.rs
. Inorder to fix that replace the contents of that file in the target folder with the contents of the following file.
swarm.handshake.rs
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Syn {
#[prost(bytes = "vec", tag = "1")]
pub observed_underlay: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ack {
#[prost(message, optional, tag = "1")]
pub address: std::option::Option<BzzAddress>,
#[prost(uint64, tag = "2")]
pub network_id: u64,
#[prost(bool, tag = "3")]
pub full_node: bool,
#[prost(bytes = "vec", tag = "4")]
pub nonce: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "99")]
pub welcome_message: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SynAck {
#[prost(message, optional, tag = "1")]
pub syn: std::option::Option<Syn>,
#[prost(message, optional, tag = "2")]
pub ack: std::option::Option<Ack>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BzzAddress {
#[prost(bytes = "vec", tag = "1")]
pub underlay: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub signature: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "3")]
pub overlay: ::prost::alloc::vec::Vec<u8>,
}
Early Stages of development