See the Blackrock roadmap for a design overview.
WARNING: This runs six VMs, and the number may increase in the future. It also allocates disk images totalling 20GB, although they are sparse images so won't actually use that much space on your drive unless you use them a lot.
First, some prep:
- This has only been tested on Debian Sid. On other distros, YMMV. (Patches welcome.)
- You will need Vagrant installed.
- If you want to build with modified version of Sandstorm, make sure that
deps/sandstorm
symlinks to your Sandstorm source tree. Hint: You can symlinkdeps
to..
if Blockrock is checked out next to Sandstorm. - You may want to edit
test-config.capnp
to add your Stripe test key and Mailchip key, if you want to test those features. Otherwise, leave them commented out.
To run locally:
make run-local
This will take a very long time the first time it runs, but once all the VMs are up you'll be able to ctrl+C and re-run quickly.
Your instance will be accessible at: http://localrock.sandstorm.io:6080/
To create an admin token:
make local-admintoken
Then go to: http://localrock.sandstorm.io:6080/setup/token/testtoken
To get a Mongo shell:
make local-mongo
To shut down:
make kill-local
Currently, Blackrock adds additional code to the Sandstorm shell to handle payments. Now that Blackrock is open source, we will soon move that module into Sandstorm proper, to simplify the codebase. For now, to test the payments code, you need to use run-dev.sh
from inside Blackrock's shell
directory. You need to make meteor-env
before this will work.
Please talk to us on sandstorm-dev.
If you are deploying on Google Compute Engine, this may be relatively easy. On any other infrastructure, a new ComputeDriver
will be needed. See src/blackrock/gce.{h,c++}
to see how this is implemented for GCE. Perhaps you'd like to contribute an implementation for another service?