textile-go
Status
This repository contains the core Textile node and daemon, a command-line client, and a mobile client for building an iOS/Android application.
See textile-mobile for the Textile Photos iOS/Android app.
What is Textile?
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 Firebase with built-in protocols for sharing and recovery.
Install
Download the latest release for your OS.
Usage
~ $ textile --help
Usage:
textile [OPTIONS] <command>
Help Options:
-h, --help Show this help message
Available commands:
add Add file(s) to a thread
address Show wallet address
blocks View thread blocks
cafes Manage cafes
chat Start a thread chat
comments Manage thread comments
daemon Start the daemon
get Get a thread file by ID
ignore Ignore a thread file
init Init the node repo and exit
invites Manage thread invites
keys Show file keys
likes Manage thread likes
ls Paginate thread files
messages Manage thread messages
migrate Migrate the node repo and exit
notifications Manage notifications
peer Show peer ID
ping Ping another peer
profile Manage public profile
sub Subscribe to thread updates
swarm Access IPFS swarm commands
threads Manage threads
version Print version and exit
wallet Manage or create an account wallet
Textile uses an HD Wallet as an account key manager. You may use the name derived account seed on multiple devices to sync wallet data. To get started, run:
$ textile wallet init
This will generate a recovery phrase for all your accounts. You may specify a word count and password as well (run with --help
for usage).
Next, use an account from you wallet to initialize a node. First time users should just use Account 0, which is printed out by the wallet init
subcommand. Use the accounts
subcommand to access deeper derived wallet accounts.
$ textile init -s <account_seed>
Finally, start the daemon:
$ textile daemon
TODO: Run through creating a thread, adding images, comments, etc.
Contributing
$ go get github.com/textileio/textile-go
You'll need a few different tools here to get setup...
Install dep
Golang package manager:
$ brew install dep
Install gx
IPFS package manager:
$ go get -u github.com/whyrusleeping/gx
$ go get -u github.com/whyrusleeping/gx-go
Install dependencies
Finally, download dependencies managed by gx
and dep
:
$ make setup
Run tests
$ make test_compile
Building
There are various things to build:
CLI/daemon
$ make build
iOS Framework
$ go get golang.org/x/mobile/cmd/gomobile
$ gomobile init
$ make ios_framework
Android Framework
$ go get golang.org/x/mobile/cmd/gomobile
$ gomobile init
$ make android_framework
Acknowledgments
While almost entirely different now, this project was jumpstarted from OpenBazaar. Thanks to @cpacia, @drwasho and the rest of the contributors for their work on openbazaar-go.
And of course, thank you Protocal Labs for the incredible FOSS effort and constant inspiration.
License
MIT