@dataverse/runtime-connector
TypeScript icon, indicating that this package has built-in type declarations

1.0.60 • Public • Published

Dataverse logo


runtime-connector

npm version npm License

The system calls exposed by Dataverse Kernel

Installation

pnpm install @dataverse/runtime-connector

Run demo

requirements

  • Data Wallet - A secure data wallet to protect your identity and data assets.
  • MetaMask - A cryptocurrency wallet browser extension.
  • Node.js version >= 16.
  • pnpm version >= 7.
pnpm install // install dependencies
pnpm build  // build the package
cd demo
pnpm dev  // run the demo

the demo will be running on http://localhost:5173/.


Dataverse logo


Usage

import { RuntimeConnector, Extension } from "@dataverse/runtime-connector";

const runtimeConnector = new RuntimeConnector(Extension);

Functions

runtimeConnector.connectWallet(WALLET.METAMASK)

Connect with user wallet. pass in which wallet you want to connect with, currently support MetaMask and Particle Network.

enum WALLET {
  METAMASK = "MetaMask",
  PARTICLE = "Particle"
}
  • Returns:
    • If the wallet is not connected, a pop-up will appear for the user to select a wallet address. After the user selects an address, the address will be returned to indicate that the wallet is connected.
    • If the wallet is already connected, will return wallet address and other info, example:
{
    "address": "0x312eA852726E3A9f633A0377c0ea882086d66666",
    "chain": {
        "chainId": 80001,
        "chainName": "mumbai"
    },
    "wallet": "MetaMask"
}

runtimeConnector.createCapability({app: string, resource: RESOURCE, wallet: WALLET})

Create a capability for the application to access the data resources.

  • app: string - which app is requesting the capability.
  • resource: RESOURCE - Resource to give access to the capability.
    enum RESOURCE {
      CERAMIC,
    }

This method will open a popup and ask the user to sign a message to create a capability. The message will be like this.

Message:
Give this application access to some of your data

URI:
did:key:z6MknFM4H7EFyBGANghNvV43uLvUKvRPU94fUcc8AZQZCq8Z

Version:
1

Chain ID:
1

Nonce:
UboH08SYfJn9N2

Issued At:
2023-06-12T06:35:19.225Z

Expires At:
2023-06-19T06:35:19.225Z

Resources: 4
ceramic://*?model=kjzl6hvfrbw6c763ubdhowzao0m4yp84cxzbfnlh4hdi5alqo4yrebmc0qpjdi5
ceramic://*?model=kjzl6hvfrbw6c7cp6xafsa7ghxh1yfw4bsub1363ehrxhi999vlpxny9k69uoxz
ceramic://*?model=kjzl6hvfrbw6c5qdzwi9esxvt1v5mtt7od7hb2947624mn4u0rmq1rh9anjcnxx
ceramic://*?model=kjzl6hvfrbw6c6ad7ydn0hi4vtamx2v620hdgu6llq49h28rfd6cs02g3cmn9za
  • Returns:
    • pkh: string - a pkh did you may use to interact with the data resources later.
did:pkh:eip155:137:0x29761660d6Cb26a08e9A9c7de12E0038eE9cb623

check all functions in docs.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation

View Docs.

Contributing

Contributions to this project are welcome. To contribute, please follow these steps:

  1. Fork the repository and create a new branch.
  2. Make your changes and test them thoroughly.
  3. Submit a pull request with a detailed description of your changes.

Readme

Keywords

none

Package Sidebar

Install

npm i @dataverse/runtime-connector

Weekly Downloads

11

Version

1.0.60

License

ISC

Unpacked Size

86.8 kB

Total Files

119

Last publish

Collaborators

  • fuxiangyu
  • qblee
  • ownershiplabs-dataverse