Zero-Trust Decentralized Package Network

Overview

logo

Zero-Trust Decentralized Package Network

Current Development Phase

📢 We are looking for your feedback!

This project is currently in the "sandbox" 🏖️ . We are actively exploring new concepts and tools. The code, workflows, and ideas are subject to breaking changes at any time in this early stage of development.

Primary Focus

To get off the ground the focus is strictly on the peer-to-peer distribution of Docker images backed by a blockchain of identifiers.

Contributing

Before getting started, take a moment to review our contributing guidelines.

Node and CLI

There are two components of this project

  • CLI: A basic interface which communicates with a node.
  • Node: An instance of the Pyrsia daemon which can participate in the network with other nodes.

Getting Started

  1. Setup rust on your local machine as described in Rust's getting started guide
  2. cd pyrsia_node
  3. cargo run

Setting Up Visual Studio Code Debugger

How to Debug Rust with Visual Studio Code

Comments
  • Avoid running lint jobs if `rs` files weren't changed

    Avoid running lint jobs if `rs` files weren't changed

    ci: avoid runs if rs files weren't changed

    We don't need to run linting tasks if rust files are same with HEAD. GithHub Actions provide ability to skip task by conditions. Was added check that there are changed rust files. If check returns True we execute linting and others workflows, otherwise, GitHub Actions should skip them.

    Close: pyrsia/pyrsia#479

    Runs links with example

    when we have to skip jobs: this when job should be triggered: that

    PR Checklist

    • [x] I've read the contributing guidelines.
    • [x] I've read "What is a Good PR?"
    • [x] I've included a good title and brief description along with how to review them.
    • [x] I've linked any associated an issue.
    • [X] I've requested a review from pyrsia/collaborators.

    Code Contributions

    I don't do next, because it is workflow changes

    • [ ] I've built the code cargo build --all-targets successfully.
    • [ ] I've run the unit tests cargo test --workspace and everything passes.

    And I need some help to understand with what branches shoud we compare current. Is it good approach for your team? Any other points? Are these jobs chosen correctly?

    github_actions 
    opened by VitaliyaIoffe 14
  • Central node with Relay behaviour

    Central node with Relay behaviour

    Description

    Fixes pyrsia/pyrsia#

    This PR introduces relay protocol for central/authoritative node and also separation of network code from main node. This is the first setup for hole punching is to have relay node set.

    Screenshots (optional)

    PR Checklist

    • [x] I've read the contributing guidelines.
    • [x] I've read "What is a Good PR?"
    • [x] I've included a good title and brief description along with how to review them.
    • [x] I've linked any associated an issue.
    • [x] I've requested a review from pyrsia/collaborators.

    Code Contributions

    • [ ] I've built the code cargo build --all-targets successfully.
    • [ ] I've run the unit tests cargo test --workspace and everything passes.
    • [ ] I've made sure my rust toolchain is current rustup update.
    in-review 
    opened by MitaliBo 13
  • Peer metric

    Peer metric

    Description

    Fixes pyrsia/pyrsia#501

    This pull request adds a peer metrics so peers can find idle peers that are good candidates for downloading artifacts.

    Screenshots (optional)

    PR Checklist

    • [x] I've read the contributing guidelines.
    • [x] I've read "What is a Good PR?"
    • [x] I've included a good title and brief description along with how to review them.
    • [x] I've linked any associated an issue.
    • [x] I've requested a review from pyrsia/collaborators.

    Code Contributions

    • [x] I've built the code cargo build --all-targets successfully.
    • [x] I've run the unit tests cargo test --workspace and everything passes.
    p2p in-review 
    opened by mseabornIBM 12
  • Removal of unused `signed_struct` to reduce OpenSSL requirement

    Removal of unused `signed_struct` to reduce OpenSSL requirement

    Signed-off-by: Abhijith Ganesh [email protected]

    PR Checklist

    • [x] I've built the code cargo build. For major changes, cargo build --workspace --release is recommended.
    • [x] I've run the automated unit tests cargo test. This executes our automated unit tests.
    • [x] I've not broken any existing tests or functionality. In addition to cargo test, I've run cargo clippy
    • [x] I've not introduced any new known security vulnerabilities. I've run cargo audit
    • [x] I've included a brief description and a good title of the proposed changes and how to test them.
    • [x] I've read the contributing guidelines.
    • [x] I've associated an issue with this Pull Request.
    • [x] I've checked that the code is up-to-date with the pyrsia/main branch.
    • [x] I've read "What is a Good PR?"
    • [x] I've assigned this Pull Request to "pyrsia/collaborators"

    Description

    Fixes pyrsia/pyrsia#484 Closes #86

    This PR deletes signed_struct, signed effectively removing the OpenSSL dependency for the Node.

    Screenshots (optional)

    opened by AbhijithGanesh 12
  • Retrieve docker blobs from other pyrsia node via libp2p

    Retrieve docker blobs from other pyrsia node via libp2p

    • [x] I've built the code cargo build. For major changes, cargo build --workspace --release is recommended.
    • [x] I've run the automated unit tests cargo test. This executes our automated unit tests.
    • [x] I've not broken any existing tests or functionality. In addition to cargo test, I've run cargo clippy
    • [x] I've not introduced any new known security vulnerabilities. I've run cargo audit
    • [x] I've included a brief description and a good title of the proposed changes and how to test them.
    • [x] I've read the contributing guidelines.
    • [x] I've associated an issue with this Pull Request.
    • [x] I've checked that the code is up-to-date with the pyrsia/main branch.
    • [x] I've read "What is a Good PR?"
    • [x] I've assigned this Pull Request to "pyrsia/collaborators"

    Description

    Fixes pyrsia/pyrsia#363 Fixes pyrsia/pyrsia#396 Closes pyrsia/pyrsia#425

    When an docker blob is not available locally in the artifact manager, the blob is fetched from docker.io as a fallback. This PR introduces an intermediate step that allows to fetch the blob from another pyrsia node instead, before falling back to docker.io.

    The flow changes to the following, where step 2 is the introduced change:

    1. retrieve the artifact locally from the artifact manager
    2. if an address to another pyrsia node is provided via the --peer option, retrieve the artifact from that pyrsia node
    3. fallback to retrieving the artifact from docker.io

    Testing

    Make sure you configured the docker daemon with the registry-mirror set to localhost:7888 as described in step 5 in the getting started guide.

    Testing can be done with the following steps:

    Terminal one: setup pyrsia node 1

    1. cargo build --workspace
    2. mkdir /tmp/pyrsia
    3. cp target/debug/pyrsia_node /tmp/pyrsia
    4. cd /tmp/pyrsia
    5. mkdir node1
    6. cd node1
    7. DEV_MODE=on RUST_LOG=debug,netlink_proto=info ../pyrsia_node -p 7889

    Take not of the libp2p listener address, the info message to look for looks like:

    INFO  pyrsia::network::p2p > Local node is listening on "/ip4/127.0.0.1/tcp/43975/p2p/12D3KooWBWMJK8rSrx313fkJGYjhpvGmekfYADCpsWLtMHKX1Nvb"
    

    Copy the entire address that is printed between the " at the end of that line. This address is needed when starting the second pyrsia node later on.

    Terminal two: populate pyrsia node 1 with the docker nginx image

    1. docker pull localhost:7889/library/nginx
    2. docker rmi localhost:7889/library/nginx

    Terminal three: setup pyrsia node 2

    1. cd /tmp/pyrsia
    2. mkdir node2
    3. cd node2
    4. DEV_MODE=on RUST_LOG=debug,netlink_proto=info ../pyrsia_node -P ${node1_listen_address}

    Terminal two: pull the docker nginx image from pyrsia node 2

    1. docker pull nginx

    The output of pyrsia node 2 should contain messages like the following:

    DEBUG pyrsia::docker::v2::handlers::blobs     > Step 1: Does "sha256:1ae07ab881bd848493ad54c2ba32017f94d1d8dbfd0ba41b618f17e80f834a0f" exist in the artifact manager?
    DEBUG pyrsia::docker::v2::handlers::blobs     > Step 1: NO, "sha256:1ae07ab881bd848493ad54c2ba32017f94d1d8dbfd0ba41b618f17e80f834a0f" does not exist in the artifact manager.
    DEBUG pyrsia::docker::v2::handlers::blobs     > Step 2: Does "sha256:1ae07ab881bd848493ad54c2ba32017f94d1d8dbfd0ba41b618f17e80f834a0f" exist in the Pyrsia network?
    DEBUG pyrsia::docker::v2::handlers::blobs     > Step 2: YES, "sha256:1ae07ab881bd848493ad54c2ba32017f94d1d8dbfd0ba41b618f17e80f834a0f" exists in the Pyrsia network.
    DEBUG pyrsia::docker::v2::handlers::blobs     > Final Step: "sha256:1ae07ab881bd848493ad54c2ba32017f94d1d8dbfd0ba41b618f17e80f834a0f" successfully retrieved!
    
    opened by tiainen 12
  • Introduce `aleph_bft` Hasher trait implementation

    Introduce `aleph_bft` Hasher trait implementation

    PR Checklist

    • [x] I've built the code cargo build. For major changes, cargo build --workspace --release is recommended.
    • [x] I've run the automated unit tests cargo test. This executes our automated unit tests.
    • [x] I've not broken any existing tests or functionality. In addition to cargo test, I've run cargo clippy
    • [x] I've not introduced any new known security vulnerabilities. I've run cargo audit
    • [x] I've included a brief description and a good title of the proposed changes and how to test them.
    • [x] I've read the contributing guidelines.
    • [x] I've associated an issue with this Pull Request.
    • [x] I've checked that the code is up-to-date with the pyrsia/main branch.
    • [x] I've read "What is a Good PR?"
    • [x] I've assigned this Pull Request to "pyrsia/collaborators"

    Description

    For #322

    This adds the crate + a basic trait that required with minimal tests

    Screenshots (optional)

    blockchain 
    opened by prince-chrismc 11
  • First cut of a blockchain

    First cut of a blockchain

    The error I get:

    error[E0515]: cannot return reference to temporary value
      --> pyrsia_node/src/block_chain/block_chain.rs:34:9
       |
    34 |            &mut BlockChain {
       |  __________^____-
       | | _________|
       | ||
    35 | ||             blocks: vec![]
    36 | ||         }
       | ||         ^
       | ||_________|
       | |__________returns a reference to data owned by the current function
       |            temporary value created here
    
    warning: variable does not need to be mutable
       --> pyrsia_node/src/main.rs:215:9
        |
    215 |     let mut bc = BlockChain::new();
        |         ----^^
        |         |
        |         help: remove this `mut`
        |
        = note: `#[warn(unused_mut)]` on by default
    
    

    resolves #56

    opened by chb0github 11
  • Fix dependency order of  `pyrsia_client_lib` in `signed_struct`

    Fix dependency order of `pyrsia_client_lib` in `signed_struct`

    See https://github.com/pyrsia/pyrsia/pull/102#discussion_r769751309 for conversation

    This is extremely confusing and make it very error prone. We need to apply the suggestion from https://doc.rust-lang.org/cargo/guide/project-layout.html

    https://doc.rust-lang.org/book/ch11-03-test-organization.html

    https://github.com/pyrsia/pyrsia/pull/62#issuecomment-990199046

    opened by prince-chrismc 11
  • In windows 10 pro, after startup, Pyrsia_node stops with an anyhow error

    In windows 10 pro, after startup, Pyrsia_node stops with an anyhow error

    Steps taken/Steps to reproduce

    According to the tutorial documentation quick-installation

    • Download the latest Windows installer from release page.

    • Double-click to run the installer

    • Run

    SET RUST_LOG=info
    cd c:\Pyrsia\Pyrsia\service
    pyrsia_node.exe
    

    Then, Pyrsia_node stops and the output details are as follows:

    C:\Pyrsia\Pyrsia\service>pyrsia_node
     2022-10-10T20:42:13.900Z INFO  pyrsia_node > Pyrsia Docker Node will start running on 127.0.0.1:7888
     2022-10-10T20:42:13.901Z INFO  pyrsia_node > Looking up bootstrap node
     2022-10-10T20:42:13.904Z INFO  pyrsia::network::event_loop > Local node is listening on "/ip4/127.0.0.1/tcp/55464/p2p/12D3KooWDhPM5KmLwHsnAYJ2mSdkiPCB4RAcT2RNhitYLJ5YDwME"
     2022-10-10T20:42:13.928Z INFO  pyrsia::network::event_loop > Local node is listening on "/ip4/10.6.252.115/tcp/55464/p2p/12D3KooWDhPM5KmLwHsnAYJ2mSdkiPCB4RAcT2RNhitYLJ5YDwME"
     2022-10-10T20:42:14.026Z INFO  pyrsia_node                 > Found bootstrap peer_addr "/ip4/104.198.178.107/tcp/44000/p2p/12D3KooWERQcvMrdmRc8a3oSuEDU2AmMZ974ADpisbbpFDrSZ8hx"
     2022-10-10T20:42:14.026Z INFO  pyrsia_node                 > Probing "/ip4/104.198.178.107/tcp/44000/p2p/12D3KooWERQcvMrdmRc8a3oSuEDU2AmMZ974ADpisbbpFDrSZ8hx"
    Error: Anyhow Error
    
    Caused by:
        Connection was closed before a response was received
    

    Expected Behavior

    Pyrsia_node works fine or reports CLI option errors and help messages.

    Experienced Instance of the bug

    OS: Windows 10 Pro Pyrsia version: 0.2.0-rc1

    bug 
    opened by fishseabowl 10
  • Tests the append blob function with a simple string

    Tests the append blob function with a simple string

    • refactors/moves the model (concern) of the blobs module into models folder

    PR Checklist

    • [x] I've built the code cargo build. For major changes, cargo build --workspace --release is recommended.
    • [x] I've run the automated unit tests cargo test. This executes our automated unit tests.
    • [x] I've not broken any existing tests or functionality. In addition to cargo test, I've run cargo clippy
    • [x] I've not introduced any new known security vulnerabilities. I've run cargo audit
    • [x] I've included a brief description and a good title of the proposed changes and how to test them.
    • [x] I've read the contributing guidelines.
    • [x] I've associated an issue with this Pull Request.
    • [x] I've checked that the code is up-to-date with the pyrsia/main branch.
    • [x] I've read "What is a Good PR?"
    • [x] I've assigned this Pull Request to "pyrsia/collaborators"

    Description

    Starts to Fix pyrsia/pyrsia#307

    This PR tests the append blob function with a simple string

    • refactors/moves the storage (concern) of the blobs module into storage folder

    Screenshots (optional)

    opened by betarelease 10
  • #373 Adds ability to automate developer tasks

    #373 Adds ability to automate developer tasks

    • adds a command chain to run the ci process locally before commit/PR

    PR Checklist

    • [x] I've built the code cargo build. For major changes, cargo build --workspace --release is recommended.
    • [x] I've run the automated unit tests cargo test. This executes our automated unit tests.
    • [x] I've not broken any existing tests or functionality. In addition to cargo test, I've run cargo clippy
    • [x] I've not introduced any new known security vulnerabilities. I've run cargo audit
    • [x] I've included a brief description and a good title of the proposed changes and how to test them.
    • [x] I've read the contributing guidelines.
    • [x] I've associated an issue with this Pull Request.
    • [x] I've checked that the code is up-to-date with the pyrsia/main branch.
    • [x] I've read "What is a Good PR?"
    • [x] I've assigned this Pull Request to "pyrsia/collaborators"

    Description

    Fixes pyrsia/pyrsia#373

    Adds ability to automate developer tasks

    Screenshots (optional)

    opened by betarelease 10
  • Bump uuid from 1.2.1 to 1.2.2

    Bump uuid from 1.2.1 to 1.2.2

    Bumps uuid from 1.2.1 to 1.2.2.

    Release notes

    Sourced from uuid's releases.

    1.2.2

    What's Changed

    Full Changelog: https://github.com/uuid-rs/uuid/compare/1.2.1...1.2.2

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust in-review 
    opened by dependabot[bot] 1
  • macOS Homebrew installer: Write logs in the pyrsia_node.log file instead of pyrsia_node_err.log

    macOS Homebrew installer: Write logs in the pyrsia_node.log file instead of pyrsia_node_err.log

    Suggestion details

    Related to https://github.com/pyrsia/pyrsia/pull/1312

    When Pyrsia is installed using Homebrew, all logs including info and debug are recorded in a file named pyrsia_node_err.log. This happens because the Pyrsia Rust application sends all logs to stderr.

    Homebrew allows us to just decide paths of where stdout and stderr are sent (More detailed configure cannot be set), so it is better to send all logs pyrsia_node.log for now.

    Additional details

    No response

    enhancement triage 
    opened by ihcomega56 0
  • Stop regarding ArtifactAlreadyExists as an error?

    Stop regarding ArtifactAlreadyExists as an error?

    Suggestion details

    https://github.com/pyrsia/pyrsia/blob/20c238569d0df57b2990c5a367dfd05e827f794b/src/docker/error_util.rs#L62

    When a build is requested and an artifact already exists, the Pyrsia CLI returns the HTTP status code 400 (bad request), but should it be really an error? If we allow users to send a build request explicitly, ArtifactAlreadyExists should occur frequently, but it does not seem a bad behavior. Probably we can make some changes to return the 200 code and just notify what happened via CLI messages.

    Additional details

    No response

    enhancement triage 
    opened by ihcomega56 0
  • Return actual build id when requesting build on another node

    Return actual build id when requesting build on another node

    Description

    Fixes pyrsia#1313

    This PR returns the actual build ID to the Pyrsia CLI when the build command was used and the actual build was triggered on a different Pyrsia node instead of the local Pyrsia node.

    Steps to test

    Follow the procedure described in Pyrsia demo: build Docker images from source. When triggering a build from source from node B (aka the node that was not authorized) using the pyrsia CLI, it should print a UUID instead of a regular number:

    Build request successfully handled. Build with ID 4cffa388-52b1-4f5c-9516-bbdbcfbf49ca has been started.

    PR Checklist

    Code Contributions

    • [x] I've built the code cargo build --all-targets successfully.
    • [x] I've run the unit tests cargo test --workspace and everything passes.
    in-review 
    opened by tiainen 1
  • build-osx workflow fails intermittently

    build-osx workflow fails intermittently

    Steps taken/Steps to reproduce

    build-osx workflow fails intermittently. Cause is CLI Config. E.g. of failed workflow https://github.com/pyrsia/pyrsia/actions/runs/3527347821/jobs/5916302005.

    Need to investigate following section of code from src/cli_commands/config.rs

    impl Display for CliConfig {
        fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
            let config_toml = toml::to_string_pretty(&self).expect("toml format error");
            write!(f, "{}", config_toml)
        }
    }
    

    Expected Behavior

    No response

    Experienced Instance of the bug

    rustc 1.63.0

    bug triage 
    opened by dasmanas 0
  • Need a review of docs/community/get_involved/local_dev_setup.md

    Need a review of docs/community/get_involved/local_dev_setup.md

    Steps taken/Steps to reproduce

    Need a review docs/community/get_involved/local_dev_setup.md

    Is the output of pyrsia -s still valid?

     $ ./pyrsia -s
        Connected Peers Count:       1
        Artifacts Count:             3 {"manifests": 1, "blobs": 2}
        Total Disk Space Allocated:  5.84 GB
        Total Disk Space Allocated:  10 GB
        Disk Space Used:             0.0002%
    

    Expected Behavior

    No response

    Experienced Instance of the bug

    rustc 1.63.0

    bug triage 
    opened by dasmanas 0
Releases(v0.2.0)
  • v0.2.0(Oct 24, 2022)

    Pyrsia network with provenance log, build from source support for docker

    This release candidate includes a number of exciting improvements from the demo version

    • Real Pyrsia network that allows to bootstrap new nodes
    • Build from source service for docker images
    • Provenance log that allows you to inspect packages on Pyrsia
    • Authority nodes that commit to the blockchain
    • Windows Installer
    • macOS brew installer

    What's Changed

    Full Changelog: https://github.com/pyrsia/pyrsia/compare/v0.1.1...v0.2.0

    New Contributors

    • @adamdmharvey made their first contribution in https://github.com/pyrsia/pyrsia/pull/735
    • @jperedadnr made their first contribution in https://github.com/pyrsia/pyrsia/pull/791
    • @karolh2000 made their first contribution in https://github.com/pyrsia/pyrsia/pull/882
    • @dasmanas made their first contribution in https://github.com/pyrsia/pyrsia/pull/937
    • @ChengYueJia made their first contribution in https://github.com/pyrsia/pyrsia/pull/1025
    • @izderadicka made their first contribution in https://github.com/pyrsia/pyrsia/pull/1095
    Source code(tar.gz)
    Source code(zip)
    pyrsia-windows-installer-0.2.0.msi(9.51 MB)
  • 0.2.0-rc1(Oct 6, 2022)

    Pyrsia network with provenance log, build from source support for docker

    This release candidate includes a number of exciting improvements from the demo version

    • Real Pyrsia network that allows to bootstrap new nodes
    • Build from source service for docker images
    • Provenance log that allows you to inspect packages on Pyrsia
    • Authority nodes that commit to the blockchain
    • Windows Installer

    What's Changed

    Full Changelog: https://github.com/pyrsia/pyrsia/compare/v0.1.1...0.2.0-rc1

    New Contributors

    • @adamdmharvey made their first contribution in https://github.com/pyrsia/pyrsia/pull/735
    • @jperedadnr made their first contribution in https://github.com/pyrsia/pyrsia/pull/791
    • @karolh2000 made their first contribution in https://github.com/pyrsia/pyrsia/pull/882
    • @dasmanas made their first contribution in https://github.com/pyrsia/pyrsia/pull/937
    • @ChengYueJia made their first contribution in https://github.com/pyrsia/pyrsia/pull/1025
    • @izderadicka made their first contribution in https://github.com/pyrsia/pyrsia/pull/1095
    Source code(tar.gz)
    Source code(zip)
    pyrsia-windows-installer-0.2-rc1.msi(9.50 MB)
    pyrsia_0.2.0-RC1_amd64.deb(5.54 MB)
  • v0.1.1(May 23, 2022)

    Includes initial implementation of NAT piercing to facilitate p2p communication between peers behind NAT based networks.

    Instructions to install this version of Pyrsia

    What's Changed

    • Bump sysinfo from 0.23.10 to 0.23.12 by @dependabot in https://github.com/pyrsia/pyrsia/pull/706
    • Add workaround for missing status checks in CI by @prince-chrismc in https://github.com/pyrsia/pyrsia/pull/700
    • Bump actions/github-script from 6.0.0 to 6.1.0 by @dependabot in https://github.com/pyrsia/pyrsia/pull/697
    • Bump tj-actions/changed-files from 19 to 20 by @dependabot in https://github.com/pyrsia/pyrsia/pull/702
    • Propagate channel errors instead of panicking by @tiainen in https://github.com/pyrsia/pyrsia/pull/708

    Full Changelog: https://github.com/pyrsia/pyrsia/compare/v0.1.0...v0.1.1

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(May 23, 2022)

    Initial release with 2 peers communicating with each other and ability to load the central node with all official docker images.

    Instructions to install this version of Pyrsia

    What's Changed

    Full Changelog: https://github.com/pyrsia/pyrsia/commits/v0.1.0

    New Contributors

    • @mgrand made their first contribution in https://github.com/pyrsia/pyrsia/pull/20
    • @johanvos made their first contribution in https://github.com/pyrsia/pyrsia/pull/51
    • @chb0github made their first contribution in https://github.com/pyrsia/pyrsia/pull/128
    • @chris-crone made their first contribution in https://github.com/pyrsia/pyrsia/pull/227
    • @VitaliyaIoffe made their first contribution in https://github.com/pyrsia/pyrsia/pull/565
    Source code(tar.gz)
    Source code(zip)
Owner
Pyrsia
Zero-Trust Decentralized Package Network
Pyrsia
Docker containers on a synthetic network. Run applications in a context that lets you manipulate their network conditions.

Synthetic Network Docker containers on a synthetic network. Run applications in a context that lets you manipulate their network conditions. Dependenc

Daily 56 Nov 11, 2022
a decentralized p2p chatroom app built for practice

Yosup is an app made for the purpose of learning libp2p technology, asynchronous rust, ways to incorporate a single protocol over multiple interfaces, and cryptography.

Louis Birla 2 Jan 14, 2022
The Graph is a protocol for building decentralized applications (dApps) quickly on Ethereum and IPFS using GraphQL.

Graph Node The Graph is a protocol for building decentralized applications (dApps) quickly on Ethereum and IPFS using GraphQL. Graph Node is an open s

Mindy.wang 2 Jun 18, 2022
An end-to-end encrypted, anonymous IP-hiding, decentralized, audio/video/file sharing/offline messaging multi-device platform built for both communications and application security and performance.

An end-to-end encrypted, anonymous IP-hiding, decentralized, audio/video/file sharing/offline messaging multi-device platform built for both communications and application security and performance.

null 2 Apr 27, 2022
Rust wrapper for Eclipse iceoryx™ - true zero-copy inter-process-communication

iceoryx-rs Experimental rust wrapper for the iceoryx IPC middleware. clone and build The iceoryx repo is include as git submodule, therefore keep in m

null 39 Nov 23, 2022
Drop-in proxy for Discord gateway connections and sessions allowing for zero downtime deploys

gateway-proxy This is a very hacky project, so it might stop working if Discord changes their API core. This is unlikely, but keep that in mind while

Jens Reidel 38 Nov 10, 2022
Network simulation in Rust

netsim - A Rust library for network simulation and testing (currently linux-only). netsim is a crate for simulating networks for the sake of testing n

Andrew Cann 112 Nov 21, 2022
A private network system that uses WireGuard under the hood.

innernet A private network system that uses WireGuard under the hood. See the announcement blog post for a longer-winded explanation. innernet is simi

Tonari, Inc 4.1k Nov 25, 2022
A Curve-like AMM for Secret Network

A Curve-like AMM for Secret Network. Supports a varibale number of tokens with the same underlying value.

Enigma 17 Sep 21, 2022
A multi-protocol network relay

A multi-protocol network relay

zephyr 42 Oct 23, 2022
A Rust library for parsing the SOME/IP network protocol (without payload interpretation).

someip_parse A Rust library for parsing the SOME/IP network protocol (without payload interpretation). Usage Add the following to your Cargo.toml: [de

Julian Schmid 18 Oct 31, 2022
Computational Component of Polkadot Network

Gear is a new Polkadot/Kusama parachain and most advanced L2 smart-contract engine allowing anyone to launch any dApp for networks with untrusted code.

null 140 Nov 17, 2022
Fullstack development framework for UTXO-based dapps on Nervos Network

Trampoline-rs The framework for building powerful dApps on the number one UTXO chain, Nervos Network CKB. This is an early-stage, currently very incom

TannrA 2 Mar 25, 2022
Official Implementation of Findora Network.

Findora Platform Wiki Contribution Guide Licensing The primary license for Platform is the Business Source License 1.1 (BUSL-1.1), see LICENSE. Except

Findora Foundation 60 Nov 4, 2022
Simple in-network file transfer with barely any overhead.

fftp fftp is the "Fast File Transport Protocol". It transfers files quickly between computers on a network with low overhead. Motivation FTP uses two

leo 4 May 12, 2022
netavark: A container network stack

netavark: A container network stack Netavark is a rust based network stack for containers. It is being designed to work with Podman but is also applic

Containers 213 Nov 21, 2022
A cross-platform, user-space WireGuard port-forwarder that requires no system network configurations.

Cross-platform, user-space WireGuard port-forwarder that requires no system network configurations.

Aram Peres 613 Nov 28, 2022
An implementation of the CESS network supported by CESS LAB.

--------- ?? ---------An infrastructure of decentralized cloud data network built with Substrate-------- ?? -------- ---------------- ?? -------------

Cess Project 244 Nov 19, 2022
A small utility to wake computers up or put them to sleep over the local network

WKSL - a wake and sleep utility An experiment in writing a small CLI utility in Rust. The program lets you wake a machine on your local network up fro

Henrik Ravn 0 Nov 14, 2021