Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.
/ streams Public archive

IOTA Streams, a framework for cryptographic protocols called Applications. Replaces Masked Authenticated Messaging (MAM). Alpha version.

License

Notifications You must be signed in to change notification settings

iotaledger/streams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6373e9b · Sep 18, 2020
Sep 18, 2020
Sep 18, 2020
Sep 17, 2020
Sep 18, 2020
Sep 18, 2020
Sep 17, 2020
Aug 19, 2020
Sep 17, 2020
Sep 18, 2020
Aug 26, 2020
Aug 25, 2020
Aug 19, 2020
Sep 18, 2020
Apr 14, 2020

Repository files navigation

IOTA Streams

This is the WIP Rust IOTA Streams library, it consists of the following components:

The library is in the alpha stage and the API is likely to change.

Table of contents
Streams
Prerequisites
Getting started
API reference
Examples
License

Streams

IOTA Streams is a framework for cryptographic protocols called Applications. Streams ships with an existing application, called Channels. The Channels application builds on and extends functionality known from Masked Authenticated Messaging v0 and v1.0.

As a cryptographic protocol framework, Streams allows developers to build Applications for their specific needs. This process will be documented in how-tos that will be published as the development progresses.

Prerequisites

To use the library, we recommend update your Rust to latest stable version rustup update stable. Nightly should be fine too.

no_std is not currently supported.

Getting started

To use the library in your crate you need to add it as a dependancy in Cargo.toml, as it's not on crates.io it must be added from git repository:

[dependencies]
iota-streams = { git = "https://github.com/iotaledger/streams" }

Or you can clone the repository locally:

git clone https://github.com/iotaledger/streams

and add a dependency in Cargo.toml in the following way:

[dependencies]
iota-streams = { version = "0.1", path = "../streams" }

Optionally, you can run tests in the whole iota-streams project:

cd streams/
cargo test --all

Now you can use the Streams Channels Application in your code like this:

use iota_streams::app_channels::api::tangle::{Author, Subscriber};

fn main() {
    let author = Author::new("AUTHORSSEED", 3, false);
    let subscriber = Subscriber::new("SUBSCRIBERSSEED", false);
}

For a more comprehensive example of using the Streams Channels Application can be found here.

API reference

API reference can be generated with the following command:

cargo doc --open

Examples

Examples of using Channels Application can be found here.

License

The project is licensed under Apache 2.0/MIT license.

About

IOTA Streams, a framework for cryptographic protocols called Applications. Replaces Masked Authenticated Messaging (MAM). Alpha version.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages