Skip to content

Quick Start Guide

Join the chat at https://gitter.im/covalent-hq/cova-core License: AGPL v3

To start using COVA Protocol you have to follow several easy steps:

Step 1. Get Computation Tokens: FakeCova

Fund your development with FakeCova!

To run computation and to utilize datasets, you need a certain amount of FakeCova tokens. You can get 1000 FakeCova by signing up with our faucet. If you need more tokens for development, please email us at contact@covalent.ai

FakeCova is only for testing purposes, has no real monetary value, and must not be confused with COVA token

Step 2. Check Balance/Wallet

COVA metamask setup

You can check your balance visiting the same faucet website.

Or if you prefer using metamask, you can use your credentials and follow this tutorial.

Step 3. Install cova-core and python application layer library

Please visit covalent-hq github and fork these repos:

  1. cova-core
  2. cova-python-driver
  3. cova-blockchain (Optional)
  4. cova-enclave (Optional)

Please click on fork and then from your personal github you can develop.

Alternatively, you can clone with HTTPS instead of SSH

git clone https://github.com/covalent-hq/cova-core.git
git clone https://github.com/covalent-hq/cova-python-driver.git
git clone https://github.com/covalent-hq/cova-blockchain.git
git clone https://github.com/covalent-hq/cova-enclave.git

More information on our github repos are here.

Step 4. Create and Utilize Smart Data and Usage Policy

Using cova-python-driver, you can create, register, and then utilize smart data with very few lines of code.

For data owners i.e. someone who wants to secure their data:

from cova_python_driver.data_owner import *

# create smart data
DataOwnerFileProcessor(data_set_file_path, policies).run()

# post uploading: register the data in CovaChain
DataOwnerSecretUploader(smart_data_hash, eth_wallet_id,
    eth_private_key, bdb_pub, bdb_private, download_link).run()

For data users i.e. someone who wants to utilize smart data:

from cova_python_driver.data_owner import *

# send code to COVA Protocol for computation
DataUserCodeExecute(data_hash, eth_pub_key, eth_priv_key,
    timeout, code_file_path).run()

Detailed instructions regarding how to install the library and config files (DOConfig.conf and DUConfig.conf) to build on the application layer are in this tutorial.

Step 5. Join Our Gitter / Pull Request

Join the chat at https://gitter.im/covalent-hq/cova-core

Please join our public Gitter developer channel. You can direct 1-1 help from the developers and community members there. (Lobby: General, Cova-Core: Protocol related technical)

If you have some interesting idea/bugfix to propose, please start an issue on that specific repo and submit a pull request for changes.

(Optional: Miners) Step 6. Run a CovaNode

If you haven't already, Fork or clone cova-core following Step 3 and get usercred.json from Step 1. Put usercred.json in core/configs. Now assuming you have docker installed, run these two commands from the top level directory

# builds the docker image in dockerfiles/
docker build
# run a docker image of compute node 
# and starts sending heartbeats to the testnet routing nodes
docker run_compute_node

(Optional: Developers) Step 7. Build Locally or Setup CovaClave

Join the chat at https://gitter.im/covalent-hq/cova-core

If you are a developer interested in development, please connect us via our public Gitter developer channel. You can independently develop and deploy our whole system locally following the instructions here.

In addition, to enable our experimental full Graphene-SGX support and run secure CovaClave, please follow the instructions here.

Quicker Start!

If you just want to have a general visual idea about how COVA protocol works, you can check this walkthrough video of our Private Testnet. This particular example shows how a COVA SmartData can be securely utilized to only train certain allowed machine learning models (in this case: a support vector machine classifier on cancer cell image data) and nothing else.