Skip to content
Spawn and control the Textile daemon from Node/Javascript
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github/ISSUE_TEMPLATE
examples
src
.editorconfig
.eslintignore
.eslintrc.json
.gitignore
.npmignore
.prettierignore
.prettierrc.json
CODEOWNERS
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
jest.config.json
package-lock.json
package.json
tsconfig.json

README.md

Textile daemon access from Node (js-textile-go-daemon)

Made by Textile Chat on Slack Keywords

GitHub package.json version npm (scoped) node (scoped) GitHub license David CircleCI branch standard-readme compliant docs

Spawn and control the Textile daemon from Node/Javascript

Join us on our public Slack channel for news, discussions, and status updates.

Table of Contents

Background

Textile provides encrypted, recoverable, schema-based, and cross-application data storage built on IPFS and libp2p. We like to think of it as a decentralized data wallet with built-in protocols for sharing and recovery, or more simply, an open and programmable iCloud.

A daemon is a program that operates as a long-running 'background' process (without a terminal or user interface). In most cases, the daemon exposes a network API (usually HTTP / TCP) that allows other programs to interact with it while it's running. Most daemons ship with a command-line client for this API.

With Textile, all desktop and server peers run as a daemon, which contains an embedded IPFS node. Much like the IPFS daemon, the program (textile) ships with a command-line client. This package is designed to interface with the daemon's command-line client, from Javascript.

Usage

You'll need to have a go-textile binary installed in order to be able to use this package to control it. You can install it manually according to these instructions, or install it via the @textile/go-textile-dep package:

npm i @textile/go-textile-dep

See examples/node for a simple setup using @textile/go-textile-dep.

Development

# Lint everything
# NOTE: Linting uses `prettier` to auto-fix styling issues when possible
npm run lint

You can also compile the Typescript yourself with:

npm run build

Maintainer

Carson Farmer

Contributing

This library is a work in progress. As such, there's a few things you can do right now to help out:

  • Ask questions! We'll try to help. Be sure to drop a note (on the above issue) if there is anything you'd like to work on and we'll update the issue to let others know. Also get in touch on Slack.
  • Log bugs, file issues, submit pull requests!
  • Perform code reviews. More eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs.
  • Take a look at go-textile. Contributions here that would be most helpful are top-level comments about how it should look based on our understanding. Again, the more eyes the better.
  • Add tests. There can never be enough tests.
  • Contribute to the Textile docs with any additions or questions you have about Textile and its various implementations. A good example would be asking, "What is an Textile daemon". If you don't know a term, odds are someone else doesn't either. Eventually, we should have a good understanding of where we need to improve communications and teaching together to make Textile even better.

Before you get started, be sure to read our contributors guide and our contributor covenant code of conduct.

License

MIT

About

This package was heavily inspired (it started as a direct fork) by the https://github.com/ipfs/js-ipfsd-ctl library. Big thanks to all the contributors to that original package! See package.json, LICENSE, and CHANGELOG.md in that project for details and contributions.

You can’t perform that action at this time.