Skip to content

Commit

Permalink
Merge pull request #2431 from dfinity/vetkd-revisions
Browse files Browse the repository at this point in the history
VetKD revisions
  • Loading branch information
jessiemongeon1 authored Feb 1, 2024
2 parents dba6ee9 + f7c30d1 commit d8ef01e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 15 deletions.
6 changes: 3 additions & 3 deletions docs/developer-docs/integrations/vetkeys/index.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Overview

The vetKeys feature is in ongoing development on the Internet Computer Protocol (ICP). It stands for ‘Verifiable Encrypted Threshold Keys’ and enables a number of cryptographic functionalities on ICP. The primary motivation for vetKeys is to facilitate onchain encryption, as such the primer is focused with that example in mind. .
The vetKeys feature is in ongoing development on ICP. It stands for ‘Verifiable Encrypted Threshold Keys’ and enables a number of cryptographic functionalities on ICP. The primary motivation for vetKeys is to facilitate on-chain encryption, as such the primer is focused with that example in mind.

To dive into the technical overview, please refer to the:
To dive into the technical overview, please refer to:

- [vetKeys technology overview](technology-overview.md).
- [vetKeys primer](https://internetcomputer.org/blog/features/vetkey-primer).

## Using vetKeys

As this feature is still in development, a brief demo for using the API exists. Instructions for this demo can be found [here](using-vetkeys.md).
As this feature is still in development, a [brief demo for using the API exists](using-vetkeys.mdx).

## References
- [Forum post](https://forum.dfinity.org/t/threshold-key-derivation-privacy-on-the-ic/16560).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# vetKeys API demo

## Overview

This demo provides a canister (`src/system_api`) that offers the vetKD system API proposed in https://github.com/dfinity/interface-spec/pull/158, implemented demonstration, testing, and initial devlopment purposes. We stress that it does not offer security yet as no threshold cryptography is used yet to secure the key.
This demo provides a canister (`src/system_api`) that offers the [proposed vetKD system API](https://github.com/dfinity/interface-spec/pull/158), implemented 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 [this repository](https://github.com/dfinity/examples/tree/master/rust/vetkd).

Expand All @@ -15,39 +18,41 @@ This demo uses files found in [this repository](https://github.com/dfinity/examp

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

```
git clone https://github.com/dfinity/examples/
```

Then navigate into the directory specifically for this project:

For Motoko deployment:
<Tabs groupId="language">
<TabItem value="motoko" label="Motoko" default>

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

For Rust deployment:
</TabItem>

<TabItem value="rust" label="rust" default>

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

</TabItem>
</Tabs>

### Step 2: Then, start a local instance of the Internet Computer:

```sh
dfx start --clean --background
```

### Step 3: Ensure the Canister SDK (dfx) uses the canister IDs that are hard-coded in the Rust source code:
### Step 3: Ensure the dfx uses the canister IDs that are hard-coded in the source code:

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

Without this, the Canister SDK (dfx) may use different canister IDs for the `system_api` and `app_backend` canisters in your local environment.
Without this, the 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, if needed, by running the following command:
### Step 4: Ensure that the required node modules are available in your project directory:

```sh
npm install
Expand Down

0 comments on commit d8ef01e

Please sign in to comment.