Skip to main content

vetKeys API demo

Advanced
Encryption

This demo provides a canister (src/system_api) that offers the proposed vetKD system API, implemented for demonstration, testing, and initial development purposes. We stress that it does not offer security yet, as no threshold cryptography is used yet to secure the key.

This demo uses files found in the examples repository.

Install the IC SDK.
Download and install git.

Step 1: Begin by cloning the Github repository containing this project:

git clone https://github.com/dfinity/examples/
cd examples/motoko/vetkd

Step 2: Start a local instance of the replica.

First, start the local replica if necessary and create or open a project.

Step 3: Ensure that dfx uses the canister IDs that are hard-coded in the source code:

dfx canister create system_api --specified-id s55qq-oqaaa-aaaaa-aaakq-cai

Without this, dfx may use different canister IDs for the system_api and app_backend canisters.

Step 4: Ensure that the required node modules are available in your project directory:

npm install

Step 5: Register, build, and deploy the project:

dfx deploy

This command should finish successfully with output similar to the following one:

Deployed canisters.
URLs:
Frontend canister via browser
 app_frontend_js: http://127.0.0.1:4943/?canisterId=by6od-j4aaa-aaaaa-qaadq-cai
Backend canister via Candid interface:
 app_backend: http://127.0.0.1:4943/?canisterId=avqkn-guaaa-aaaaa-qaaea-cai&id=tcvdh-niaaa-aaaaa-aaaoa-cai
 app_frontend: http://127.0.0.1:4943/?canisterId=avqkn-guaaa-aaaaa-qaaea-cai&id=b77ix-eeaaa-aaaaa-qaada-cai
 system_api: http://127.0.0.1:4943/?canisterId=avqkn-guaaa-aaaaa-qaaea-cai&id=s55qq-oqaaa-aaaaa-aaakq-cai

Step 6: Open the printed URL for the app_frontend_js in your browser.