This project aims to create a decentralized bridge that facilitates the transfer of non-fungible tokens (NFTs) between different blockchain networks. By leveraging smart contracts and blockchain interoperability, this bridge enables users to seamlessly transfer their NFTs from one chain to another.
- Cross-Chain NFT Transfer: Transfer NFTs between different blockchain networks.
- Decentralized Architecture: Utilizes decentralized technologies to ensure trustless and secure transactions.
- Smart Contract Integration: Integrates with smart contracts on various blockchain networks to manage NFT transfers.
- Configurable Chain Support: Easily add support for new blockchain networks through configurable chain implementations.
- Automated Build and Formatting: Streamlined development process with automated build and code formatting scripts.
Follow these steps to get the project up and running on your local machine:
- Clone the Repository:
git clone https://github.com/XP-NETWORK/decentralized-bridge-validator.git
- Install Dependencies:
cd decentralized-bridge-validator
yarn
- Build the Project:
yarn build
-
Configure Secrets: Update the
secrets.example.json
file with your private keys, addresses, and other sensitive information, then rename it tosecrets.json
. -
Running the project:
for dev enviroment
yarn dev
for prod enviroment
node dist/index.js
Use the --testnet flag to run the project on the testnet environment.
src/
: Contains the source code of the project.contractsTypes
Directory contaning chain specific contract typeshandler/
: Directory for chain-specific handler implementations.ChainSpecificHandler/
: Chain handler.index.ts
: Main file for handler.utils/
: Utilities specific to handler.
types.ts
: Shared types for handlers.utils.ts
: Utility functions shared across handlers.
persistence/
: Directory for persistence-relatedtypes/
: Directory mainly containing handler typesconfig.ts
: Configuration file.deps.ts
: File defining project dependencies and configurations.index.ts
: Entry point of the application.mikro-orm.config.ts
: MikroORM configuration.
build
: Compiles TypeScript source code into JavaScript.format
: Formats source code using Biome.lint
: Lints source code for consistency and best practices.postinstall
: Installs LeftHook for pre-commit hooks.dev
: Builds the project and starts the development server.
Contributions to this project are welcome! If you'd like to contribute, please fork the repository, make your changes, and submit a pull request. Make sure to follow the project's coding standards and guidelines.