Testing IPFS with IPTB

On the github page for IPTB, the install reads:
go get github.com/whyrusleeping/iptb

On my Mac, I downloaded Go from from https://golang.org/doc/install where GOPATH is listed as GOPATH="/Users/me/go" and GOROOT is listed as GOROOT="/usr/local/go".

Running the install command, I’m left with a page full of
unrecognized import path "gx/ipfs/...

If I type gx I see -bash: gx: command not found.

Running go get -u github.com/whyrusleeping/gx followed by
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Gets gx to run, but I’m still no go on the IPTB installer. Any idea how to get this up and running? I’d like to experiment with IPFS but feel better doing it in a small private network before I’m ready to fully dive in.

I think you might need to run the following commands before go install on iptb will succeed.

cd $GOPATH/src/github.com/whyrusleeping/iptb
gx install

gx install outputted:

[done] [install] go-crypto                QmaPHkZLbQQbvcyavn8q1GFHg6o6yeceyHFSJ3Pjf3p3TQ 0s
[done] [install] go-base58                QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf 0s
[done] [install] keccakpg                 QmQPWTeQJnJE7MYu6dJTiNTQRNuqBr41dis6UgY6Uekmgd 0s
[done] [install] murmur3                  QmfJHywXQu98UeZtGJBQrPAR6AtmDjjbe3qjTo9piXHPnx 0s
[done] [install] go-multihash             QmU9a9NV9RdPNwZQDYd5uKsm6N6LJLSvLbywDDYFbaaC6P 0s
[done] [install] go-multiaddr             QmXY77cVe7rVRQXZZQRioukUM7aRW3BTcAgJe12MCtb3Ji 0s
[done] [install] go-multiaddr-net         QmX3U3YXCQ6UYBxq2LVWF8dARS1hPUTEYLrSx654Qyxyw6 0s
[done] [install] yaml.v2                  QmNNARAR2ncSEDKGVAjsE77VYAtNE6qMMPEC7hfWMwMdF9 0s
[done] [install] cli                      QmVcLF2CgjQb5BWmYFWsDfxDjbzBfcChfdHRedxeL3dV4K 0s
[done] [install] stump                    QmZLUtHGe9HDQrreAYkXCzzK6mHVByV4MRd8heXAtV5wyS 0s
[done] [install] go-ctrlnet               QmRebo5SY2EajaMx2Fnom21KHPWSivJRJHYwe58nZ5N8yC 0s

However, following this up with go install still lists a ton of messages like:
../../ipfs/go-ipfs/exchange/bitswap/message/message.go:11:2: cannot find package "gx/ipfs/QmNa31VPzC561NWwRsJLE7nGYZYuuD2QfpK2b1q9BK54J1/go-libp2p-net"

I removed everything in my GOPATH and started over to see what is needed to build this (since I apparently had some things installed that aren’t dragged in by the previously suggested steps). Here are the commands I used to build iptb starting from scratch.

I don’t know enough about gx to say why it’s apparently not pulling in all of the required dependencies for iptb, but pulling in the dependencies for go-ipfs seems to take care of it.

go get -u github.com/whyrusleeping/gx
go get -u github.com/whyrusleeping/gx-go
# get and install go-ipfs and dependencies
go get -u github.com/ipfs/go-ipfs
cd $GOPATH/src/github.com/ipfs/go-ipfs
gx install
# get and install iptb dependencies
go get -u github.com/whyrusleeping/iptb
cd $GOPATH/src/github.com/whyrusleeping/iptb
gx install
# finally install iptb
go install

I got up to go get -u github.com/whyrusleeping/iptb, then ran into:
package gx/ipfs/QmdYwCmx8pZRkzdcd8MhmLJqYVoVTC1aGsy5Q4reMGLNLg/atomicfile: directory "/Users/me/go/src/gx/ipfs/QmdYwCmx8pZRkzdcd8MhmLJqYVoVTC1aGsy5Q4reMGLNLg/atomicfile" is not using a known version control system

Running git init in the github.com/whyrusleeping/iptb got me through to installing.

Sweet! Thanks for your help!

2 Likes

Ran into following issue:

go install  1 ↵  2 :gear:  4442  10:18:27

github.com/whyrusleeping/iptb/util

util/dockernode.go:193:10: cannot use int(dur.Nanoseconds() / 1000000) (type int) as type uint in field value

It looks like we modified a dependency without updating iptb. You should probably build iptb with gx. Instructions:

go get github.com/whyrusleeping/gx
go get github.com/whyrusleeping/gx-go
go get -d github.com/whyrusleeping/iptb
gx-go rw
go build

Hi, I have issues when using iptb. After installing iptb, I tried to start it using iptb init, however it returns with a message “Could not find plugin localipfs”. I tried with “iptb auto -type localipfs -count 5”, it asked for overwriting the testbeds and I said yes, but then it again returns with the same error.

  1. How to use iptb to spin n nodes so I can test from my client?
  2. How to get the list of plugins in use and how to use them in the iptb setup?

Thanks.

To use iptb for ipfs you have to use plugins. for this reason they have another repository on https://github.com/ipfs/iptb-plugins
but unfortunately it seems that it has some installation problems that are not fixed yet.