Skip to content

vechain/vechain-dapp-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

# prepare the release, this will check out the release branch, install dependencies, build packages, test and update the package versions
yarn prepare:release X.Y.Z

Create the PR for the release branch vX.Y.Z.

When the PR is merged, create the release on github called X.Y.Z, it will automatically tag the commit with the version X.Y.Z.

# publish the release
yarn publish:release X.Y.Z