- Installing concat
- Installing aleph
Mediachain is comprised of two main software projects, concat and aleph.
If we were to split them along the popular “porcelain” / “plumbing” axis, aleph would be
the porcelain to concat’s plumbing. The storage, indexing and query of metadata is all
handled by concat’s
mcnode program, and the concat project also includes the reference
directory server implementation
Controlling a running
mcnode is done by issuing HTTP requests to an embedded server that
listens on the
localhost interface. While it’s possible to control
mcnode directly with
or a similar tool, aleph’s
mcclient tool is much friendlier and better suited to the job.
The aleph project also includes an interactive REPL for querying a local or remote
Be sure to check out the Getting Started Guide after installation to learn how to use mediachain to query, publish and share data with the network!
mcnode program is the main mediachain node application, responsible for data storage,
transmission, and query. It can be easily installed to the cloud with one click, but
if you prefer to run it on your own hardware, the installation is straightforward.
In most cases, a binary release will be the simplest way to get up and running. Find the
package for your platform from the latest GitHub release page.
Linux packages will end with
-linux-amd64.tgz, and macOS packages will end with
On Windows, we currently recommend installing the linux binaries under the Windows Subsystem for Linux. The concat README has setup instructions.
To get the latest pre-release code, or if you want to run
mcnode on a platform without a binary
release (FreeBSD, Linux on ARM, etc), follow the instructions from concat’s README for
installing from source.
6 or greater.
Linux users will need to have a modern c++ compiler installed to build the native dependencies. You’ll also need the development headers for openssl for the crypto libraries. On Ubuntu and other debian-based distros, you should be able to do:
$ sudo apt-get install build-essential g++ libssl-dev
Users on macOS will need the Xcode command line tools installed. This can be done from within Xcode (under Preferences -> Downloads), or as a standalone package.
We’re working on “real” Windows support, but for now we recommend using the Windows Subsystem for Linux, which creates a minimal Ubuntu system that runs under Windows 10 without virtualization. This supports native linux binaries, and will allow you to install the Linux versions of node.js, git, and other aleph dependencies.
To install aleph’s dependencies on the Windows Subsystem for Linux:
- Enable the WSL
- Open a command prompt or PowerShell, then run
bash. This may take a few minutes to prepare the linux root filesystem.
The following steps should be done from within bash:
- Prepare the system to install node.js:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
- Install dependencies:
sudo apt-get install build-essential g++ libssl-dev git nodejs
Now you should be able to install aleph within bash with the instructions below.
The simplest way to get started is to globally install the latest release from npm:
$ npm install -g aleph
Depending on how node is installed on your system, you may need to run the above command with
or as a user with administrator privileges. For other install methods, see
the aleph README.
Aleph provides an
mcclient program for controlling a concat node, and an
aleph command for
control a concat node. More information about the
aleph command is available in
the aleph README.
mcclient is configured to talk to
http://localhost:9002, which is the
default address for the
mcnode control API server. If
mcnode is running on your local machine
(see above for instructions), you shouldn’t need to configure anything.
If you’re controlling a node you’ve deployed to the cloud or installed yourself on a remote machine, you need to first set up a secure “tunnel”, that will forward traffic from your local machine to the remote server. See the SSH tunnel instructions for more information on setting up the tunnel. Once it’s running, you’ll be able to control your remote node as if it were running on your local machine.
See the Getting Started Guide to learn how to take your node online, run queries, publish data, and more.