dynamic-data-and-capabilities - Dynamic Data and Capabilities in IPFS Working Group

  •        73

Research and development of building blocks that enable collaborative applications, providing solutions for security, identity, access control, concurrency, synchronization, offline and near-real-time collaboration on top of IPFS. Research and implement CRDTs on top of IPFS, creating building blocks that can be used by other applications.

https://github.com/ipfs/dynamic-data-and-capabilities

Tags
Implementation
License
Platform

   




Related Projects

peer-pad - 📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS

  •    Javascript

PeerPad is a decentralized editor that allows concurrent writing of text. Besides making live changes to a given document, it allows read-only nodes to follow the changes in real-time. It also allows you to publish a self-contained snapshot of the document to IPFS. Clone the repo and install the dependencies from npm.

Radicle - A peer-to-peer stack for code collaboration

  •    Haskell

Radicle is a peer-to-peer stack for code collaboration. The Radicle stack builds on IPFS, and works without a centralized server. No hassle with setting up your own hosting, and no need to trust companies with your data. It contains a git repository, plus the associated issues and proposals. Access all the issues and proposals associated with your codebase right from your terminal.

solid-spec - The Solid spec and architecture

  •    

Solid (derived from "social linked data") is a proposed set of conventions and tools for building decentralized social applications based on Linked Data principles. Solid is modular and extensible. It relies as much as possible on existing W3C standards and protocols. Solid uses WebID URIs as universal usernames or actor identifiers. Frequently referred to simply as WebIDs, these URIs form the basis of most other Solid-related technologies, such as authentication, authorization, access control, user profiles, discovery of user preferences and server capabilities, and more.

slim-auth - Authorization and authentication for the Slim Framework using ZF2 Authentication and Acl components

  •    PHP

Slim Auth is an authorization and authentication library for the Slim Framework. Authentication is provided by the Zend Framework Zend\Authentication component, and authorization by the Zend Framework Zend\Permissions\Acl component. If you're familiar with Zend\Authentication and Zend\Permissions\Acl, you'll be able to implement the library without any trouble. Otherwise, you might want to wait for the docs to be completed (no ETA) or open a GitHub issue with any questions or problems you encounter.

ipfspics-server - Content-addressable, peer-to-peer method of storing and sharing images on the internet

  •    PHP

ipfs.pics is a open-source and distributed image hosting website. It aims to be an alternative to non-libre image hosting websites such as imgur, flickr and others. It is based on IPFS - the InterPlanetary File System. The whole application runs on the concept of peer to peer connections, which means that instead of hosting the information in a single location, our servers, the data is stored by everyone who wants to. When a picture is put on IPFS, it is given a hash, a 46 characters long digital fingerprint. No other file will have it and if the same file is added twice then their hashes will be exactly the same, which means the picture can still be found on the network simply by knowing the hash, even if our website is down. You can find the hash at the end of a picture URL, just like below.


awesome-ipfs - Useful resources for using IPFS and building things on top of it

  •    

This list is for projects, tools, or pretty much any things related to IPFS that are totally awesome. This is for products which are already awesome - if you have plans for cool stuff to do with IPFS, you should build it, and then link it here. If you have an idea for an awesome thing to do with IPFS, a good place to ask about it might be in ipfs/apps or ipfs/notes.These are narrowly-scoped, little JS "apps" deployed through IPFS.

mosquitto-auth-plug - Authentication plugin for Mosquitto with multiple back-ends (MySQL, Redis, CDB, SQLite3)

  •    C

This plugin can perform authentication (check username / password) and authorization (ACL). Currently not all back-ends have the same capabilities (the the section on the back-end you're interested in). Multiple back-ends can be configured simultaneously for authentication, and they're attempted in the order you specify. Once a user has been authenticated, the same back-end is used to check authorization (ACLs). Superusers are checked for in all back-ends. The configuration option is called auth_opt_backends and it takes a comma-separated list of back-end names which are checked in exactly that order.

js-ipfs-api - A client library for the IPFS HTTP API, implemented in JavaScript.

  •    Javascript

A client library for the IPFS HTTP API, implemented in JavaScript. This client library implements the interface-ipfs-core enabling applications to change between a embebed js-ipfs node and any remote IPFS node without having to change the code. In addition, this client library implements a set of utility functions.Note: ipfs-api requires Node.js v6 (LTS) or higher.

panda - Platform for Architecture-Neutral Dynamic Analysis

  •    C

PANDA is an open-source Platform for Architecture-Neutral Dynamic Analysis. It is built upon the QEMU whole system emulator, and so analyses have access to all code executing in the guest and all data. PANDA adds the ability to record and replay executions, enabling iterative, deep, whole system analyses. Further, the replay log files are compact and shareable, allowing for repeatable experiments. A nine billion instruction boot of FreeBSD, e.g., is represented by only a few hundred MB. PANDA leverages QEMU's support of thirteen different CPU architectures to make analyses of those diverse instruction sets possible within the LLVM IR. In this way, PANDA can have a single dynamic taint analysis, for example, that precisely supports many CPUs. PANDA analyses are written in a simple plugin architecture which includes a mechanism to share functionality between plugins, increasing analysis code re-use and simplifying complex analysis development. It is currently being developed in collaboration with MIT Lincoln Laboratory, NYU, and Northeastern University.

ipfs-companion - Browser extension that simplifies access to IPFS resources

  •    Javascript

IPFS is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open. Companion will detect presence of DNSLink in DNS records of visited websites and redirect HTTP request to a local gateway.

js-ipfs-http-client - A client library for the IPFS HTTP API, implemented in JavaScript.

  •    Javascript

A client library for the IPFS HTTP API, implemented in JavaScript. This client library implements the interface-ipfs-core enabling applications to change between an embedded js-ipfs node and any remote IPFS node without having to change the code. In addition, this client library implements a set of utility functions. Alan Shaw.

uport-connect - Main uPort library for front end developers

  •    Javascript

uPort is a collection of tools and protocols for building decentralized user-centric applications. It is built on open standards and open source libraries. uPort identities can be created and interacted with through uPort clients, including the uPort mobile app. Identities are fully owned and controlled by the creator, and don't rely on centralized third-parties for creation, control or validation. uport-connect is the client side library that allows you interact with a user's uPort identity through a uPort client, primarily the mobile app. It handles the communication channel between your app and a uPort client, which can vary depending on the environment which your application runs. Over this communication channel you can send requests for a user's data, share credentials, generate transactions to be signed by a user and relay requests you originally created on your server with uport-credentials. This library offers the default quick start implementation to integrate with uPort, but if it doesn't offer exactly what you need, you may be interested in using uport-tranports and uport-credentials instead.

ipfs - Peer-to-peer hypermedia protocol

  •    

A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.IPFS (the InterPlanetary File System) is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.

ipfs-desktop - Menubar IPFS Application

  •    Javascript

A desktop client for IPFS. You don't need the command line to run an IPFS node. Just install IPFS Desktop and have all the power of IPFS in your hands. Powered by Web UI.

yjs - A CRDT library with a powerful abstraction of shared data

  •    Javascript

Yjs is a framework for offline-first p2p shared editing on structured data like text, richtext, json, or XML. It is fairly easy to get started, as Yjs hides most of the complexity of concurrent editing. For additional information, demos, and tutorials visit y-js.org. Yjs only knows how to resolve conflicts on shared data. You have to choose a ..

Python - Programming Language

  •    C

Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. It is embeddable within applications as a scripting interface. Build flexible data-driven code using Python's powerful and dynamic introspection capabilities and advanced language features such as meta-classes, duck typing and decorators.

js-ipfs - IPFS implementation in JavaScript

  •    Javascript

We've come a long way, but this project is still in Alpha, lots of development is happening, API might change, beware of the Dragons 🐉..Want to get started? Check our examples folder to learn how to spawn an IPFS node in Node.js and in the Browser.

ipfs-webui - A frontend for an IPFS node.

  •    Javascript

A web interface to IPFS. Check on your node stats, explore the IPLD powered merkle forest, see peers around the world and manage your files, without needing to touch the CLI.

mustbe - Authorization plumbing for NodeJS/ExpressJS/ConnectJS apps

  •    Javascript

MustBe is not a complete authorization framework, with roles and responsibilities and models and data access and everything that you need. Rather, it is the underlying plumbing that you need to secure your site. It allows you to fill in the necessary parts to manage data access, roles and users, and gives you the activity based plumbing to secure it all. MustBe is an authorization system - the part of a security system that decides whether or not you are allowed to do something. This is the second of authentication and authorization, where authentication simply determines who you are.

Entity Framework Dynamic Data Model Builder

  •    

Dynamic Data Model Builder lets you to have a Data Access Layer at runtime. It creates dynamic DbContext, DbSet and POCO based on Entity Framework (Code First).