Textile JS HTTP Client (js-http-client)
Official Textile JS HTTP Wrapper Client
Important: With the move to Typescript and our 0.2.x release,
js-http-client is now
published under the
@textile namespace, rather than
releases will remain available under
@textileio, however, all
code should be updated to reflect this change.
Table of Contents
- Textile JS HTTP Client (js-http-client)
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.
The reference implementation of Textile is written in Go, and can be compiled to various platforms, including mobile (Android/iOS) and desktop/server (OSX, Windows, Linux, etc). The library in this repo is designed to help support things like browser-based Textile apps, Node.js apps, and other use-cases.
This library provides access to an underlying
go-textile node's REST API, adding various simplified APIs to support in-browser and programmatic desktop access. For the most part, the API would mimic the command-line and/or mobile APIs of
go-textile, with some browser-specific enhancements.
# Run all the unit tests yarn test # Lint everything # NOTE: Linting uses `prettier` to auto-fix styling issues when possible yarn lint
You can also compile the Typescript yourself with:
And even build a nice browser-compatible bundle with:
dist, ready to be used in your next NodeJS, browser, React, Vue, or whatever app!
We also provide scripts to run a light-weight
webpack-dev-server to test out the browser builds. Try something like
yarn serve, and then browse to
http://127.0.0.1:8080/examples/browser in your favorite browser for a simple example.
The auto-generated documentation can be found at https://textileio.github.io/js-http-client/.
# Re-build the documentation yarn docs
Textile's JS HTTP Client is a work in progress. As such, there's a few things you can do right now to help out:
- Check out issue 1 for an up-to-date list (maintained by carsonfarmer) of tasks that could use your help.
- 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 (which we intend to follow to a point), and also at some of the client repositories: for instance,
textile-mobileand the Textile
react-native-sdk. 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 impmenentations. A good example would be asking, "What is a thread?". 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.