Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tangle-network/dapp
Monorepo for the Tangle ecosystem.
https://github.com/tangle-network/dapp
blockchain cryptocurrency dapp frontend monorepo
Last synced: 15 days ago
JSON representation
Monorepo for the Tangle ecosystem.
- Host: GitHub
- URL: https://github.com/tangle-network/dapp
- Owner: tangle-network
- License: apache-2.0
- Created: 2021-01-20T17:45:42.000Z (almost 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-12-06T00:31:49.000Z (21 days ago)
- Last Synced: 2024-12-06T01:25:40.671Z (21 days ago)
- Topics: blockchain, cryptocurrency, dapp, frontend, monorepo
- Language: TypeScript
- Homepage: https://app.tangle.tools
- Size: 238 MB
- Stars: 29
- Watchers: 7
- Forks: 15
- Open Issues: 48
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Webb Monorepo
Decentralized interfaces into the Webb protocol, featuring Tangle Network dApps for MPC-as-a-service restaking infrastructure.
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/tangle-network/dapp/check-build.yml?branch=develop&style=flat-square)](https://github.com/tangle-network/dapp/actions) [![License Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](https://www.apache.org/licenses/LICENSE-2.0.html) [![Follow Tangle on twitter](https://img.shields.io/twitter/follow/tangle_network.svg?style=social)](https://twitter.com/intent/follow?screen_name=tangle_network) [![Follow Webb on twitter](https://img.shields.io/twitter/follow/webbprotocol.svg?style=social)](https://twitter.com/intent/follow?screen_name=webbprotocol) [![Telegram](https://img.shields.io/badge/Telegram-gray?logo=telegram)](https://t.me/tanglenet) [![Discord](https://img.shields.io/discord/833784453251596298.svg?style=flat-square&label=Discord&logo=discord)](https://discord.gg/cv8EfJu3Tn)
Table of Contents
Table of Contents
- Getting Started
- Applications
- Libraries
- Testing
- Contributing
- How to release (for maintainers)
- License
- Need help?
Getting Started
This monorepo is the cornerstone for decentralized interfaces within the Webb protocol, incorporating a suite of dApps, including the revolutionary [Tangle Network](https://tangle.tools) applications. These applications are geared towards kickstarting advanced cryptographic developments and innovations in blockchain technology, leveraging multi-party computation (MPC) services and cross-chain capabilities.
It uses [nx.dev](https://nx.dev/) for fast and extensible building. The `apps` directory contains the protocol's interfaces while `libs` contains the necessary code and logic.
### Prerequisites
This repository makes use of yarn, nodejs, and requires version node v18.12.x. To install node.js binaries, installers, and source tarballs, please visit https://nodejs.org/en/download/. Once node.js is installed you may proceed to install [yarn](https://yarnpkg.com/):
1. Run `corepack enable` to activate [Corepack](https://nodejs.org/api/corepack.html)
2. Go into your project directory
3. Run `yarn set version 4.2.2`
For more information about the migration, you can refer to the Yarn [documentation](https://yarnpkg.com/migration/guide#migration-steps).
Great! Now your **Node** environment is ready!
Applications
- [tangle-dapp](./apps/tangle-dapp/README.md): the central hub to managing Tangle Network assets and MPC (Multi-Party Computation) services.
Libraries
- `abstract-api-provider`: a collection of base and abstract classes that unify the API across multiple providers.
- `api-provider-environment`: contains the React context definitions, the app event, and functions for handling interactive feedback errors for the bridge app.
- `browser-utils`: contains all the browser utility functions, such as fetch with caching, download file and string, the customized logger class, get browser platform, and the storage factory function for interacting with local storage.
- `dapp-config`: contains all configurations (chains, wallets, etc.) for the bridge dApp.
- `dapp-types`: contains all the sharable TypeScript types and interfaces across the apps.
- `icons`: contains all the sharable icons across the apps.
- `note-manager`: contains all the logic for storing note account data.
- `polkadot-api-provider`: the Substrate (or Polkadot) provider for the bridge.
- `react-hooks`: contains all the sharable hooks across the apps.
- `tailwind-preset`: the Webb TailwindCSS preset for all the apps.
- `web3-api-provider`: the EVM provider for the bridge.
- [webb-ui-components](./libs/webb-ui-components/README.md): a collection of reusable components for building interfaces quickly.
Testing
The following instructions outlines how to run Webb Dapp test suite.
### To run tests
```
yarn test
```
### To start [Storybook](https://storybook.js.org/) for component library
1. Install dependencies by `yarn`
```bash
yarn install
```
2. Start the storybook:
```bash
yarn nx storybook webb-ui-components
```
Visit `http://localhost:4400/` to see the Webb Component Library!
Contributing
Interested in contributing to the Webb Dapp interface? Thank you so much for your interest! We are always appreciative for contributions from the open-source community!
If you would like to contribute, please refer to our [Contribution Guide](./.github/CONTRIBUTING.md) for instructions. We are excited for your first contribution!
### Lint before you push!
Please ensure you lint and format your changes prior to opening a PR.
**To lint:**
```
yarn lint
```
**To Format:**
```
yarn format
```
**To Build:**
```
yarn build
```
Additionally, to ensure commit message consistency, this repository uses [commitlint](https://commitlint.js.org/#/). Please refer to the [Commit Message Guidelines](./.github/CONTRIBUTING.md#commit-message-guidelines) for more information.
How to release (for maintainers)
To release a new version of the projects in this monorepo, follow these steps:
1. Create a new branch from `develop`.
2. Run `yarn run generate:release` to review the new bump version and the changelog.
3. If everything looks good, run `yarn run generate:release -d=false` to apply changes, stage, and
commit them.
3.1. If you don't want to commit the changes, run `yarn run generate:release -d=false --gitCommit=false`. This will only update the version and changelog files.
3.2. There are a few options available for the `generate:release` script. You can check them by running `yarn run generate:release --help`.
4. Push and open a PR to `develop`, the PR title should start with `[RELEASE]` in order to trigger the release workflow.
5. After the PR is merged, the release workflow will sync the changes to the `master` branch if the commit message starts with `[RELEASE]` on the `develop` branch. The release workflow will also create a new release on GitHub.
License
Licensed under Apache 2.0 license.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache 2.0 license, shall be licensed as above, without any additional terms or conditions.
Need help?
If you need help or you want to additional information please:
- Refer to the [Tangle Network Official Documentation](https://docs.tangle.tools/) or [Webb Official Documentation](https://docs.webb.tools/).
- If you have feedback on how to improve the dApp interface or you have a specific question? Check out the [Tangle dApp Feedback Discussion](https://github.com/tangle-network/feedback/discussions/categories/tangle-dapp) or [Webb dApp Feedback Discussion](https://github.com/tangle-network/feedback/discussions/categories/webb-dapp-feedback).
- If you found a bug please [open an issue](https://github.com/tangle-network/dapp/issues/new/choose) or [join our Discord](https://discord.gg/jUDeFpggrR) server to report it.
---
**Follow us at**
[![Follow Tangle on twitter](https://img.shields.io/twitter/follow/tangle_network.svg?style=social)](https://twitter.com/intent/follow?screen_name=tangle_network)
[![Follow Webb on twitter](https://img.shields.io/twitter/follow/webbprotocol.svg?style=social)](https://twitter.com/intent/follow?screen_name=webbprotocol)
[![Follow Webb on LinkedIn](https://img.shields.io/badge/LinkedIn-webbprotocol-blue?style=flat&logo=linkedin&logoColor=b0c0c0&labelColor=363D44)](https://www.linkedin.com/company/webb-protocol/)
---
**Share** the project link with your network on social media.