UNPKG

nft-folder-blockchain-connector-besu

Version:

A NestJS-based blockchain connector that communicates with specific smart contracts from the NFT Folder project.

172 lines (135 loc) 9.26 kB
<a id="readme-top"></a> [![Stars][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] [![Watchers][watchers-shield]][watchers-url] [![Contributors][contributors-shield]][contributors-url] [![Commit Activity][commitactivity-shield]][commitactivity-url] [![Last Commit][lastcommit-shield]][lastcommit-url] [![Issues][issues-shield]][issues-url] [![License][license-shield]][license-url] <br /> <div align="center"> <h2 align="center">Blockchain Connector (NFT-Folder)</h3> <p align="center"> A NestJS-based blockchain connector for interacting with specific smart contracts from the NFT-Folder project. <br /> <a href="https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/issues/new?labels=bug&template=bug-report---.md">🐞 Report Bug</a> &middot; <a href="https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/issues/new?labels=enhancement&template=feature-request---.md">💡 Request Feature</a> </p> </div> <details> <summary>Table of Contents</summary> <ol> <li> <a href="#about-the-project">📚 About The Project</a> <ul><li><a href="#description">📄 Description</a></li></ul> <ul><li><a href="#documentation">📖 Documentation</a></li></ul> <ul><li><a href="#built-with">🛠️ Built With</a></li></ul> </li> <li><a href="#getting-started">🚀 Getting Started</a></li> <li> <a href="#contributing">🤝 Contributing</a> <ul><li><a href="#getting-involved">🌟 Getting Involved</a></li></ul> <ul><li><a href="#top-contributors">🏆 Top Contributors</a></li></ul> </li> <li><a href="#license">📜 License</a></li> <li><a href="#contact">📬 Contact</a></li> <li><a href="#acknowledgments">🙏 Acknowledgments</a></li> </ol> </details> ## 📚 About The Project <a id="about-the-project"></a> ### 📄 Description <a id="description"></a> The **NFT-Folder** project enables the tokenization, structuring and secure storage of assets as Non-Fungible Tokens (NFTs) on the blockchain. With tamper-proof and traceable documentation of changes, NFT-Folder ensures the integrity and authenticity of digital assets, making it a valuable tool for various industries. Key components include: - **Blockchain Connector**: A NestJS bridge for enabling interactions between an application and the smart contracts. - **Container Smart Contract**: Organizes and manages NFTs for each organization. - **Segment Smart Contract**: Enables the subdivision of NFTs into logical segments within a container. - **Token Smart Contract**: Follows the ERC-721 standard for NFTs on Ethereum, allowing for industrial tokenization of assets by storing additional essential information, such as identifiers and fingerprints. ### 📖 Documentation <a id="documentation"></a> A detailed documentation for the NFT-Folder project is available in this [repository](https://github.com/fraunhofer-iml/nft-folder-documentation). ### 🛠️ Built With <a id="built-with"></a> - [![ESLint][eslint-shield]][eslint-url] Utility for linting and enforcing code quality in JavaScript and TypeScript - [![Ethers][ethers-shield]][ethers-url] Library for interacting with Ethereum and blockchain networks - [![Jest][jest-shield]][jest-url] Powerful JavaScript testing framework - [![NestJS][nestjs-shield]][nestjs-url] Node.js framework for building scalable server-side applications - [![Node.js][nodejs-shield]][nodejs-url] JavaScript runtime built on Chrome's V8 engine for scalable applications - [![Prettier][prettier-shield]][prettier-url] Code formatter for consistent style - [![Swagger][swagger-shield]][swagger-url] Tools for designing and documenting APIs - [![TypeScript][typescript-shield]][typescript-url] Strongly typed programming language that enhances JavaScript <p align="right">(<a href="#readme-top">back to top</a>)</p> ## 🚀 Getting Started <a id="getting-started"></a> To set up and run the NFT-Folder locally, please consult the [Tutorial section](https://github.com/fraunhofer-iml/nft-folder-documentation/-/blob/main/chapter12.adoc) in our documentation. This section provides step-by-step instructions to guide you through the process of installing, configuring and running the NFT-Folder environment on your local machine. <p align="right">(<a href="#readme-top">back to top</a>)</p> ## 🤝 Contributing <a id="contributing"></a> ### 🌟 Getting Involved <a id="getting-involved"></a> Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/amazing-feature`) 3. Commit your Changes (`git commit -m 'feat: add some amazing-feature'`) 4. Push to the Branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request We are using [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for our commit messages. ### 🏆 Top Contributors <a id="top-contributors"></a> <a href="https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/graphs/contributors"> <img src="https://contrib.rocks/image?repo=fraunhofer-iml/nft-folder-blockchain-connector" alt="contrib.rocks image" /> </a> <p align="right">(<a href="#readme-top">back to top</a>)</p> ## 📜 License <a id="license"></a> Licensed under the Apache License 2.0. See `LICENSE` for details. <p align="right">(<a href="#readme-top">back to top</a>)</p> ## 📬 Contact <a id="contact"></a> Lukas Grieger: lukas.grieger@iml.fraunhofer.de Michael Pichura: michael.pichura@iml.fraunhofer.de <p align="right">(<a href="#readme-top">back to top</a>)</p> ## 🙏 Acknowledgments <a id="acknowledgments"></a> - [Best-README-Template](https://github.com/othneildrew/Best-README-Template) provided inspiration and structure for creating this README file - [Img Shields](https://shields.io) enabled the creation of customizable and visually appealing badges for this project - [contrib.rocks](https://contrib.rocks) simplified the visualization of contributors in this project <p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> [stars-shield]: https://img.shields.io/github/stars/fraunhofer-iml/nft-folder-blockchain-connector.svg?style=for-the-badge [stars-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/stargazers [forks-shield]: https://img.shields.io/github/forks/fraunhofer-iml/nft-folder-blockchain-connector.svg?style=for-the-badge [forks-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/forks [watchers-shield]: https://img.shields.io/github/watchers/fraunhofer-iml/nft-folder-blockchain-connector?style=for-the-badge [watchers-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/watchers [contributors-shield]: https://img.shields.io/github/contributors/fraunhofer-iml/nft-folder-blockchain-connector.svg?style=for-the-badge [contributors-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/graphs/contributors [commitactivity-shield]: https://img.shields.io/github/commit-activity/y/fraunhofer-iml/nft-folder-blockchain-connector?style=for-the-badge [commitactivity-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/graphs/commit-activity [lastcommit-shield]: https://img.shields.io/github/last-commit/fraunhofer-iml/nft-folder-blockchain-connector?style=for-the-badge [lastcommit-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/commits/main [issues-shield]: https://img.shields.io/github/issues/fraunhofer-iml/nft-folder-blockchain-connector.svg?style=for-the-badge [issues-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/issues [license-shield]: https://img.shields.io/github/license/fraunhofer-iml/nft-folder-blockchain-connector.svg?style=for-the-badge [license-url]: https://github.com/fraunhofer-iml/nft-folder-blockchain-connector/blob/main/LICENSE [eslint-shield]: https://img.shields.io/badge/Linting-ESLint-4B32C3?style=flat&logo=eslint [eslint-url]: https://eslint.org/ [ethers-shield]: https://img.shields.io/badge/Library-Ethers-6633FF?style=flat&logo=ethereum [ethers-url]: https://ethers.org/ [jest-shield]: https://img.shields.io/badge/Testing-Jest-C21325?style=flat&logo=jest [jest-url]: https://jestjs.io/ [nestjs-shield]: https://img.shields.io/badge/Framework-NestJS-E0234E?style=flat&logo=nestjs [nestjs-url]: https://nestjs.com/ [nodejs-shield]: https://img.shields.io/badge/Runtime-Node.js-339933?style=flat&logo=node.js [nodejs-url]: https://nodejs.org/ [prettier-shield]: https://img.shields.io/badge/Formatting-Prettier-F7B93E?style=flat&logo=prettier [prettier-url]: https://prettier.io/ [swagger-shield]: https://img.shields.io/badge/API-Swagger-85EA2D?style=flat&logo=swagger [swagger-url]: https://swagger.io/ [typescript-shield]: https://img.shields.io/badge/Language-TypeScript-007ACC?style=flat&logo=typescript [typescript-url]: https://www.typescriptlang.org/