In this lesson we are going to:
- Connect your local IPFS node to the public network.
- Uploading data to the public IPFS network.
- Fetching data from public IPFS network.
- Using GUI to visualize IPFS local repo, network activities, etc.
Taking your Node Online
Once you’re ready to join your node to the public network, run the ipfs daemon in the terminal and wait for all three lines below to appear to know that your node is ready:
$ ipfs daemon Initializing daemon... API server listening on /ip4/127.0.0.1/tcp/5001 Gateway server listening on /ip4/127.0.0.1/tcp/8080
Make note of the tcp ports you receive. If they are different, use yours in the commands below.
Now, start a new terminal. If you’re connected to the network, you should be able to see the ipfs addresses of your peers when you run:
$ ipfs swarm peers /ip4/188.8.131.52/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ /ip4/184.108.40.206/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx /ip4/220.127.116.11/tcp/1035/ipfs/QmWHyrPWQnsz1wxHR219ooJDYTvxJPyZuDUPSDpdsAovN5 /ip4/18.104.22.168/tcp/4002/ipfs/QmdXzZ25cyzSF99csCQmmPZ1NTbWTe8qtKFaZKpZQPdTFB
These are a combination of <transport address>/ipfs/<hash-of-public-key>.
Now, you should be able to get objects from the network. Try:
$ ipfs cat /ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg > cat.jpg $ open cat.jpg
Next try sending objects to the network, and then viewing it in your favourite browser. The example below uses curl as the browser, but you can open the IPFS URL in other browsers as well:
$ hash=`echo "I <3 IPFS -$(whoami)" | ipfs add -q` $ curl "https://ipfs.io/ipfs/$hash"
Cool, huh? The gateway served a file from your computer. The gateway queried the Distributed hash table (DHT), found your machine, requested the file, your machine sent it to the gateway, and the gateway sent it to your browser.
Depending on the state of the network, curl may take a while. The public gateways may be overloaded or having a hard time reaching you
You can also check it out at your own local gateway:
$ curl "http://127.0.0.1:8080/ipfs/$hash" I <3 IPFS -<your username>
By default, your gateway is not exposed to the world, it only works locally.
We also have a web console you can use to check the state of your node. In your favourite web browser, open:
This should bring up a console like this:
Companion Browser Extension
While we are at it, IPFS Companion is a browser extension that simplifies access to IPFS resources and adds support for the IPFS protocol.
It will automatically redirect IPFS gateway requests to your local daemon so that you are not relying on, or trusting, remote gateways.
Next, we recommend you look at our examples to find out more about what IPFS is capable of.