Textile daemon access from Node (js-textile-go-daemon)
Join us on our public Slack channel for news, discussions, and status updates.
Table of Contents
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 (
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
npm i @textile/go-textile-dep
examples/node for a simple setup using
# 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
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.
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
CHANGELOG.md in that project for details and contributions.