A short how-to for those interested in participating in Test B of the Storj Project.
###What does Test B do?
- See http://blog.storj.io/post/118706366258/driveshare-test-group-b-plan for the official explanation
- Simply speaking Test B tests the system’s ability to work with a large (up to 1PB) amount of client data. Because it would take a huge amount (well, at least 1PB) of network traffic to create 1PB of data the way it’s going to be done in production, the current version of client-side software creates random data (the
buildcommand). In real life Storj won’t work like that (data will be uploaded by “consumers”), so this part is deliberately simplified. Server receives client status which includes the address and number of shards (128MB large binary files) the client has.
- At the moment (v1.3.0, see a list of available releases here) the test app doesn’t earn any awards - those will likely be available in v1.4.0 when authentication is added to the app, so until such time you probably don’t want to dedicate a large amount of space to the test. 128M (1 “shard” or the height of 1) is enough.
- Both now and later, do not “farm” (or “mine”) from an address that does not belong to you (an example of such address is your Deposit address at a crypto-exchange). You want to have a bitcoin address (with 10K+ SJCX) that belongs to you. If you have a Countewallet wallet, pick one address and buy SJCX (http://coinmarketcap.com/assets/storjcoin-x/) from it using a vending machine (or buy SJCX at an exchange and withdraw it to your Counterwallet address).
- Install Python 3.4 (download the latest & greatest from python.org)
- Open the CLI and install dataserv-client (
c:\python34\scripts\pip.exe install dataserv-client)
- Now you should be able to run the client like this:
c:\python34\python.exe c:\python34\Scripts\dataserv-client --help usage: dataserv-client [-h] [--address ADDRESS] [--url URL] [--max_size MAX_SIZE] [--store_path STORE_PATH] [--debug] <command> ... Dataserve client command-line interface. optional arguments: -h, --help show this help message and exit --address ADDRESS Required bitcoin address. --url URL Url of the farmer (default: http://188.8.131.52). --max_size MAX_SIZE Maximum data size in bytes. (default: 1073741824). --store_path STORE_PATH Storage path. (default: C:\Users\IBM_ADMIN\.storj\store). --debug Show debug information. commands: <command> version Print version number. register Register a bitcoin address with farmer. ping Ping farmer with given address. poll Continuously ping farmer with given address. build Fill the farmer with data up to their max.
###Linux (Ubuntu 14.04)
- You should have all the packages required, but in case pip3 isn’t there, install it with
sudo install python3-pip python3-dev)
- Install dataserv-client:
sudo pip3 install dataserv-client
- Run the app:
- These commands should work on all Ubuntu/Debian variants and architectures
###How to configure and run
- Register the bitcoin address using
dataserv-client --address YOUR_ADDRESS register(this is required just once for the address; if you need to repeat the procedure on another system or directory later on, skip the registration step if you’re using the same address)
- Create a directory which will hold your shards (it has to have enough space), such as e:\storj (Win) or
- Build the capacity required for test:
dataserv-client --address YOUR_ADDRESS --max_size 134217728 --store_path e:\storj --debug build(the figure is in bytes, v1.4.0 should support user friendly values such as
- Once that is done, you can start notifying the server with your status:
dataserv-client --address YOUR_ADDRESSS --debug poll
- In v1.3.0, dataserv-client starts polling immediately after you issue the build command, but stops after the command completes. This behavior may change in v1.4.0, but until then
buildmust be followed by
###How to update dataserv-client
The process is the same as installation just instead of
install (see above), type
update, e.g. on Linux
sudo pip3 update dataserv-client
Then verify with:
dataserv-client version (Lin)
On Windows, the commands are the same, but issue them by prepending
c:\python34\python.exe c:\python34\scripts\ to dataserv-client, as explained in the Windows section above.
At the moment, the current status is visible at http://184.108.40.206/api/online. Example:
1EgxmPLMvi4RB5nh5HYxDaWxFFpLTwHmjf | Last Seen: 10 second(s) | Height: 4023
Height 4023 means this address is “farming” about 500 GB (4023 * 128 MB) for the network.
Again, keep in mind that the current client, v1.3.0, allows “cheating” because anyone can “register” another person’s SJCX address as well as report a fake amount of shards. But that isn’t so relevant because as mentioned above in real life data will be uploaded by real users’s computers to real users storage, whereas for the purpose of this test users generate data by themselves.
The only interesting consequence of this temporary ability to cheat in Test B is that the award fund which was supposed to be divided among test participants who reached the milestones of 100 and 1024 TB (0.1 and 1 PB, respectively) was not distributed yet. It is currently expected that “snapshots” of the participants’ storage contribution will be recorded after v1.4.0 is released. On the one hand, this is good for those who start late, but on the other those who have 1-2 TB probably won’t see meaningful rewards because there’s already 350 TB of (largely legit) capacity on the network.
In any case, you should be able to see your amount of shards as soon as you correctly execute the
poll command and receive some token amount of SJCX once v1.4.0 is available and you upgrade to it. This how-to won’t be updated with the details about that - please follow Storj blog and community updates because they’re working very fast.
If you need help with Storj software (such as dataserv-client), join the Storj Community slack at http://storjcommunity.slack.com. If you need help with Counterwallet, you’ll probably find the answer on this forum. The most common issue related to Counterparty is about wallet downtime which is sometimes caused by Bitcoin blockchain reorganizations (short answer: retry in 90 mins; longer answer: see Support section).