vechain-dapp-kit
vechain-dapp-kit copied to clipboard
An SDK for vechain dApp development
vechain-dapp-kit
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 ?
- Key features
- Contributing
- Sample Projects
- Branching Strategy
- Setting up for local development
- Prerequisites
- Install & build dependencies
- Run in Dev Mode
- Further Documentation & Usage
Why ?
- Allow easy interaction with all wallets.
- Currently, connex only plays nice with Sync / Sync2
- Enable a better UX for users
Key features
Key Features a.k.a scope
-
wallet connectivity
key components that handle interaction with veworld and sync 2
-
customizable UI
ability to totally customize the UI of components
-
User Experience
Consistent experience with Ethereum and other chains
-
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
https://github.com/vechain/vechain-dapp-kit/assets/150018882/5cc133ae-4c6b-4e08-8cff-0e09b6ca43aa
- Look at some live demos here:
- Refer to the apps folder for sample projects.
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 [email protected]: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