Quick Start Guide¶
To start using COVA Protocol you have to follow several easy steps:
Step 1. Get Computation Tokens: 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 firstname.lastname@example.org
FakeCova is only for testing purposes, has no real monetary value, and must not be confused with COVA token
Step 2. Check Balance/Wallet¶
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:
Please click on fork and then from your personal github you can develop.
Alternatively, you can clone with
HTTPS instead of
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 (
DUConfig.conf) to build on the application layer are in this tutorial.
Step 5. Join Our Gitter / Pull Request¶
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
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¶
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.
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.