Skip to content
m edited this page Apr 4, 2017 · 9 revisions

Welcome to LDLN!

LDLN is an open source platform for communication.

  • Comes with pre-built stock applications for mobile and web access to the communications tools, but is open source and designed to be extensible by the broader community.
  • Key value is that it does not depend on traditional Internet, power, cellular, or mesh network infrastructures. LDLN is an independent, self-sufficient layer but can sit on top of these networks when they’re available. Deployed integrations include:
    • Traditional Ethernet/WiFi Internet (default web app)
    • Commotion mesh (Seattle)
    • Gov’t unsecured sat truck 2.4mb link (WA Nat. Guard)
    • AT&T next gen 30mb satellite link (WA Nat. Guard)
    • Viasat Satellite (Oso)
    • Zigbee (Red Hook)
    • Byzantium (Red Hook)
  • Similar to a mesh network in that it is resilient to network disruptions in space. However, unlike a mesh network on its own, LDLN’s protocols are also resilient to disruptive events in time, including power outages, network disruptions, etc.

Walkthrough of Scenarios

Use Cases for LDLN have included:

  • Emergency Preparedness & Response (e.g. MYN + CERT)
  • Environmental Monitoring (e.g. Landslides, water levels)
  • Clean Energy Distribution (e.g. PAYGO solar & cooking fuel industries in East Africa)
  • Digital ID / Rights (e.g. ledgers of relationships between individuals, property, locations, etc)

Explore a graphical breakdown of some of these use cases here.

Ten Laws of LDLN

LDLN is User First

    1. LDLN-enabled web and mobile interfaces must comply with UX best practices.

    2. LDLN must not require technical knowledge beyond using apps and browsers.

    3. LDLN hardware configuration must be well-documented, and should be as plug-and-play as possible.

    4. LDLN must allow for transmission of rich data beyond simple text packets; i.e. communication is expressed via human means (photos, geodata, wikis, etc) and not limited only by technical design constraints (SMS, BLE, USSD).

LDLN embodies Resilience and Integrity.

    5. LDLN network interruptions must not result in loss of data.

    6. LDLN data must be secure in transit and at rest.

    7. LDLN must default in production to only exposing data needed for the synchronization protocol, which should be kept to an absolute minimum.

    8. LDLN’s core security elements must be open for peer/expert vetting.

LDLN is Accessible and Extensible.

    9. LDLN code is under GNU GPL and available to all parties who could benefit from integrating its features.

    10. LDLN does not distinguish communities of “competitors” from the broader “collaborators,” and where feasible must remain open to integration with existing hardware and software.

Where we’re at currently:

Tech: the open-source, extensible software includes:

User Interfaces: Touchpoints for the humans running the system

  • web-app: A web interface that can be run on Base Stations (i.e. raspberry pi, web servers, and other open hardware) to configure and report on a LDLN network’s activity.
  • responder-ios & responder-android: Mobile SDKs and apps for submitting and viewing data in the system, and communicating with each other.

APIs: mechanisms through which network nodes can automatically communicate in the background.

  • websocket-server: Server for LDLN websocket sync protocol
  • websocket-client: A go-based LDLN websocket client for pulling from other LDLN websocket servers (e.g. base stations and/or web servers) and storing to the local database. Note: does not utilize core since data goes straight to mongodb.
  • rest-api: A ReSTful API for creating and listing LDLN SyncableObjects, built with the revel framework, go, and mongodb
  • serial-server: An interface for listening to hardware that connects to the base station via serial ports

Utilities: modules to assist in common tasks in the system and the development of new features.

  • core: Core models and utilities shared by various LDLN packages.
  • vagrant-dev: Vagrant config and bootstrap files for setting up a virtual LDLN development environment

Please contribute! Tell us what to improve!

Hit us up at: