Skip to content
No description, website, or topics provided.
Java
Branch: master
Clone or download
Latest commit d050a93 Dec 6, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci tag regex Nov 9, 2019
app Adds asyn methods as primary Nov 9, 2019
gradle/wrapper first Nov 7, 2019
ipfslite
.gitignore first Nov 7, 2019
CONTRIBUTING.md updates readme Nov 9, 2019
LICENSE first Nov 7, 2019
README.md Update README.md Dec 5, 2019
build.gradle working api, failing request Nov 7, 2019
gradle.properties first Nov 7, 2019
gradlew first Nov 7, 2019
gradlew.bat first Nov 7, 2019
manifest.gradle Update framework; Add getNode, resolveLink methods. Nov 11, 2019
settings.gradle first Nov 7, 2019

README.md

android-ipfs-lite

Made by Textile Chat on Slack GitHub license Release CircleCI branch docs standard-readme compliant

A lightweight, extensible IPFS peer for Android.

IPFS Lite runs the minimal setup required to get and put IPLD DAGs on the IPFS network. It is a port of the Go IPFS Lite library.

Table of Contents

Background

IPFS Lite runs the minimal setup required to provide a DAG service. It is a port of the Go IPFS Lite library, and as such, has the same requirements. The goal of IPFS Lite is to run the bare minimal functionality for any IPLD-based application to interact with the IPFS network (by getting and putting blocks). This saves having to deal with the complexities of using a full IPFS daemon, while maintaining the ability to share the underlying libp2p host and DHT with other components.

Roadmap

  • Start IPFS Lite
  • Stop IPFS Lite
  • getFile(String cid) Get file by Content Address.
  • getFileSync(String cid) Synchronously get file by Content Address.
  • addFile(byte[] data) Add file to IPFS.
  • addFileSync(byte[] data) Synchronously Add file to IPFS.
  • getNode(String cid) Get IPLD node.
  • removeNode(String cid) Remove IPLD node.
  • Add IPLD node.
  • resolveLink(String link)

Install

The IPFS Lite library is published in Textile's Bintray Maven repository. You can install it using Gradle.

First, you'll need to add Textile's Bintray Maven repository to you project's top level build.gradle in the allProjects.repositories section:

allprojects {
    repositories {
        ...
        maven { url 'https://dl.bintray.com/textile/maven' }
        maven { url 'https://jitpack.io' }
        ...
    }
}

Next, add the IPFS Lite dependency to your app module's build.gradle dependencies section, specifying the latest version available:

dependencies {
    ...
    implementation 'io.textile:ipfs-lite:0.0.1-rc3'
    ...
}

Usage

Initialize and start a Peer

  Boolean debug = false;
  Peer litePeer = new Peer('/path/', debug);
  litePeer.start();

Add data

  String message = "Hello World";
  String cid = litePeer.addFileSync(message.getBytes());

Add a file

  File file = openFile("secret_plans");
  byte[] bytes = Files.readAllBytes(file.toPath());
  String cid = litePeer.addFileSync(bytes);

  // OR Asynchronously
  litePeer.addFile(bytes, resultHandler);

Fetch a file by CID

  byte[] data = litePeer.getFileSync("bafybeic35nent64fowmiohupnwnkfm2uxh6vpnyjlt3selcodjipfrokgi");
  // OR Asynchronously
  litePeer.getFile("bafybeic35nent64fowmiohupnwnkfm2uxh6vpnyjlt3selcodjipfrokgi", resultHandler);

Maintainers

Andrew Hill

Contributing

See the contributing file!

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT (c) 2019 Textile

You can’t perform that action at this time.