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.jsonfile 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.contractsTypesDirectory 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.