/vechain-dapp-kit

An SDK for vechain dApp development

Primary LanguageTypeScriptMIT LicenseMIT

vechain-dapp-kit

A TypeScript library that facilitates seamless interaction between VeChain wallets.

Quality Gate Status Security Rating Maintainability Rating License: MIT

Introduction

The VeChain DAppKit is a TypeScript library that facilitates seamless interaction between VeChain wallets (VeWorld, sync2) and dApps, enhancing user experience and developer convenience. Please refer to VeChain Docs for full documentation and usage.

Table of Contents

Why ?

  • Allow easy interaction with all wallets.
  • Currently, Connex only plays nice with Sync / Sync2
  • Enable a better UX for users

Key features

  1. Wallet Connectivity: Key components that handle interaction with VeWorld and Sync 2.

  2. Customizable UI: Ability to totally customize the UI of components.

  3. User Experience: Consistent experience with Ethereum and other chains.

  4. Developer friendly: Easy to adopt with proper documentation.


Contributing

Please refer to the Contributing Guide for more information on how to contribute to the project.


Sample Projects

DAppDemo.mov

Branching Strategy

Welcome to our project! Here's an overview of our branching strategy.


Branch Types

  • main: The main branch represents the production-ready code. Only stable and tested features should be merged into this branch. Once ready for publishing, a new tag should be created from this branch.

Setting up for local development

Prerequisites

  • Node.js >= 18.17
  • Yarn >= 1.22.10

Install & build dependencies

yarn install:all

Run in Dev Mode

yarn dev

Useful scripts

Test

yarn test

Clean project

yarn clean

Purge project

  • Runs yarn clean and removes all node_modules
yarn purge

Install yarn packages

yarn

Build dependencies

yarn build:deps

Build release

yarn build

E2E Testing

We utilize Cucumber.js with Selenium for end-to-end (E2E) testing. To conduct these tests, you'll require the ChromeDriver. Here's how to install it:

On Mac:

brew install chromedriver
cd "$(dirname "$(which chromedriver)")"
xattr -d com.apple.quarantine chromedriver

Once installed, you can run tests in the browser using:

yarn test:e2e

Alternatively, you can run headless tests directly in the console using:

yarn test:e2e:headless

Further Documentation & Usage

  • Please refer to VeChain Docs for more information on how to use the library.

Publishing

git clone git@github.com:vechainfoundation/vechain-dapp-kit.git
cd vechain-dapp-kit
git checkout X.Y.Z
yarn install:all
yarn build:release X.Y.Z
yarn changeset publish