Setting up your workspace

A workspace is nothing else but a folder which will be mounted into the qvm-compiler-* and qvmctl docker containers.
It will contain:
  • A private key used for deployment and contract calls
  • The smart contract binary to be deployed
To create the workspace create the ws directory in your current directory like this:
mkdir ws && cd ws

Generate a random private key

First you need a random secp256k1 private key, which is (almost) any random 32 byte sequence in a hexadecimal format with 0x prepended to it. If you have OpenSSL installed (most likely you have it if you are running Linux or macOS) then you can generate one easily with the following command:
echo "0x"$(openssl rand -hex 32) > privkey.txt

Determine your wallet address

Based on the randomly generated key you will end up with a wallet address. Run the following command in your terminal:
docker run --rm -v $(pwd):/ws qanplatform/qvmctl deploy --privkey privkey.txt .
Mind the dot (".") at the end of the command!
If you did it correctly you will receive a message like "Connected to QVM Repository with 0xYOURADDRESS". The message is followed by an insufficient balance notification, which is of course normal.

Get some rETH for your wallet

As stated previously, QVM is tested as a Layer2 smart contract execution engine on the Ropsten Ethereum testnet. First you will need at least 1 rETH so you can play around with QVM, because fees related to the operations must be paid on the testnet as well.
You can get some rETH for your wallet on this website for example:​
Enter the wallet address you obtained in the previous step and wait for your rETH to arrive.