-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# Problem We want to process the SIWF v2 payloads. Authenticate the user, and process chain interactions. Closes #526 Closes #527 Closes #529 # Solution Processed the data using SIWF v2 library and then built the extrinsics to re-use the same queue as SIWF v1. ## Steps to Verify: 1. Checkout the branch 2. Use config: - Testnet - "Provider12" Provider Id: 729 3. Start redis: `docker compose up redis` 4. Start the api `npm run start:account-api:dev` 5. Start the worker: `npm run start:account-worker:debug` 6. Start the example: `node tools/siwfv2/example.mjs` 7. Open http://localhost:3030 8. Follow the prompts!
- Loading branch information
Showing
21 changed files
with
1,660 additions
and
152 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
# Gateway | ||
Gateway is a suite of microservices designed to simplify interactions with the Frequency blockchain, bridging the gap between Web2 and Web3 development. | ||
|
||
Gateway is a suite of microservices designed to simplify interactions with the Frequency blockchain, bridging the gap between Web2 and Web3 development. | ||
|
||
<!-- TABLE OF CONTENTS --> | ||
|
||
|
@@ -25,6 +25,7 @@ Gateway is a suite of microservices designed to simplify interactions with the F | |
Gateway is a collection of services designed to simplify interactions with the Frequency blockchain. It bridges the gap between Web2 and Web3, allowing developers to interact with Frequency as easily as they would with any traditional Web2 API. | ||
|
||
Key features: | ||
|
||
- Modular architecture: Use each service independently to fit your specific needs | ||
- Simplified blockchain interactions: Abstract away complex blockchain operations | ||
- Web2-like experience: Familiar REST API patterns for Web2 developers | ||
|
@@ -34,6 +35,7 @@ For a practical implementation example, check out our **Social App Template** [h | |
<p align="right">(<a href="#-table-of-contents">back to top</a>)</p> | ||
|
||
## 🚀 Live Docs <a name="-live-docs"></a> | ||
|
||
Visit our Live API Documentation to start exploring the Gateway services. | ||
|
||
**[Access Our Live API Docs Here](https://projectlibertylabs.github.io/gateway/)** | ||
|
@@ -76,12 +78,12 @@ flowchart LR; | |
|
||
Gateway consists of four independent microservices, each designed to handle specific aspects of interaction with the Frequency blockchain. Below is a detailed overview of each service: | ||
|
||
| Service | Description | API Documentation | README | | ||
|---------|-------------|-------------------|--------| | ||
| Account Service | Manages user accounts and authentication on the Frequency blockchain using [Sign In With Frequency](https://github.com/ProjectLibertyLabs/siwf). It handles tasks such as account creation and key management. | [API Docs](https://projectlibertylabs.github.io/gateway/account) | [README](./developer-docs/account/README.md) | | ||
| Graph Service | Manages social connections and relationships between users on the Frequency network. It handles operations like following/unfollowing users and retrieving social graphs. | [API Docs](https://projectlibertylabs.github.io/gateway/graph/) | [README](./developer-docs/graph/README.md) | | ||
| Content Publishing Service | Facilitates the creation and publication of content on the Frequency blockchain. It manages tasks such as posting messages, attachments, replies, and reactions. | [API Docs](https://projectlibertylabs.github.io/gateway/content-publishing/) | [README](./developer-docs/content-publishing/README.md) | | ||
| Content Watcher Service | Monitors and retrieves content updates from the Frequency blockchain. It allows applications to efficiently track new content as it's published. | [API Docs](https://projectlibertylabs.github.io/gateway/content-watcher/) | [README](./developer-docs/content-watcher/README.md) | | ||
| Service | Description | API Documentation | README | | ||
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------- | | ||
| Account Service | Manages user accounts and authentication on the Frequency blockchain using [Sign In With Frequency](https://github.com/ProjectLibertyLabs/siwf). It handles tasks such as account creation and key management. | [API Docs](https://projectlibertylabs.github.io/gateway/account) | [README](./developer-docs/account/README.md) | | ||
| Graph Service | Manages social connections and relationships between users on the Frequency network. It handles operations like following/unfollowing users and retrieving social graphs. | [API Docs](https://projectlibertylabs.github.io/gateway/graph/) | [README](./developer-docs/graph/README.md) | | ||
| Content Publishing Service | Facilitates the creation and publication of content on the Frequency blockchain. It manages tasks such as posting messages, attachments, replies, and reactions. | [API Docs](https://projectlibertylabs.github.io/gateway/content-publishing/) | [README](./developer-docs/content-publishing/README.md) | | ||
| Content Watcher Service | Monitors and retrieves content updates from the Frequency blockchain. It allows applications to efficiently track new content as it's published. | [API Docs](https://projectlibertylabs.github.io/gateway/content-watcher/) | [README](./developer-docs/content-watcher/README.md) | | ||
|
||
<p align="right">(<a href="#-table-of-contents">back to top</a>)</p> | ||
|
||
|
@@ -94,24 +96,24 @@ Gateway consists of four independent microservices, each designed to handle spec | |
|
||
<p align="right">(<a href="#-table-of-contents">back to top</a>)</p> | ||
|
||
|
||
<!-- GETTING STARTED --> | ||
|
||
## 💻 Getting Started <a name="getting-started"></a> | ||
|
||
Gateway offers flexibility in how you can use its services. You can either quickly set up all services or selectively use specific microservices based on your needs. Below, we provide both a Quick Start guide for setting up all services and information on how to get started with individual microservices. | ||
|
||
|
||
### 🚀 Quick Start Guide <a name="quick-start-guide"></a> | ||
|
||
Follow these steps to quickly get all Gateway services up and running: | ||
|
||
1. **Prerequisites**: | ||
In order to run this project you need: | ||
- [Docker](https://www.docker.com) or Docker compatible layer for running Gateway Services | ||
- [mdBook](https://rust-lang.github.io/mdBook/) for building documentation | ||
In order to run this project you need: | ||
|
||
- [Docker](https://www.docker.com) or Docker compatible layer for running Gateway Services | ||
- [mdBook](https://rust-lang.github.io/mdBook/) for building documentation | ||
|
||
2. **Clone the Repository**: | ||
|
||
```sh | ||
git clone [email protected]:ProjectLibertyLabs/gateway.git | ||
cd gateway | ||
|
@@ -122,13 +124,15 @@ In order to run this project you need: | |
```sh | ||
./start.sh | ||
``` | ||
|
||
This script will start all Gateway microservices using Docker. | ||
|
||
4. **Stop all Services** | ||
|
||
```sh | ||
./stop.sh | ||
``` | ||
|
||
Use this script when you need to stop all running Gateway services. | ||
|
||
5. **Build Gateway Documentation** | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.