-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
1 changed file
with
91 additions
and
6 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,8 +1,93 @@ | ||
# Pubky | ||
# Pubky App | ||
|
||
> The Web, long centralized, must decentralize; Long decentralized, must centralize. | ||
## Overview | ||
|
||
> [!WARNING] | ||
> Pubky is still under heavy development and should be considered an alpha software. | ||
> | ||
> Features might be added, removed, or changed. Data might be lost. | ||
Pubky App is the primary application built on the Pubky Core protocol, offering users a decentralized platform for coordination, publishing, discovery, and social interaction. It provides ownership of data, control over content, and a censorship-resistant experience. | ||
|
||
## Features | ||
|
||
- **Decentralized Social Interaction**: Engage with others without centralized control. | ||
- **Content Publishing**: Publish articles, images, and more in a fully decentralized manner. | ||
- **Tag-Based Discovery**: Leverage user-generated tags for effective content discovery. | ||
- **Lightning Network Payments**: Integrate peer-to-peer payments for content monetization. | ||
|
||
## Technology Stack | ||
|
||
- **Backend**: Built using Pubky Core for decentralized data management. | ||
- **Frontend**: React.js, leveraging Vite for fast build times. | ||
- **Homeserver**: Used to store and synchronize user data in a decentralized way. | ||
- **Payments**: Integrated with the Lightning Network for micropayments. | ||
|
||
## Prerequisites | ||
|
||
- **Node.js**: Version 14.x or higher. | ||
- **npm**: Version 6.x or higher. | ||
- **Pubky SDK**: Required for interaction with the Pubky Core protocol. | ||
|
||
Ensure these prerequisites are installed before proceeding with setup. | ||
|
||
## Installation | ||
|
||
First, copy the environment file: | ||
|
||
```sh | ||
$ cp example.env .env | ||
``` | ||
|
||
### API Documentation | ||
|
||
If you wish to interact with the Pubky App programmatically, refer to the available REST API endpoints provided in the documentation. These endpoints allow developers to create, read, update, and delete data related to user interactions, content, and payments. For more details, please check the Pubky Core API Documentation. | ||
|
||
Update the `.env` file with the following required variables: | ||
|
||
- `PUBKY_API_KEY`: The API key for Pubky Core. This key is necessary for authenticating requests and integrating with Pubky Core services. | ||
- `HOMESERVER_URL`: URL for the homeserver that stores and synchronizes user data. This homeserver is responsible for keeping user content available and synchronized across devices. | ||
- `LIGHTNING_NODE_URL`: URL for the Lightning Network node. This is used for handling payment requests and enabling microtransactions within the Pubky App. | ||
- `PKARR_ENDPOINT`: Endpoint URL for PKARR services, which are essential for managing user identities and addressing content in a decentralized manner. | ||
- `HOMESERVER_URL`: URL for the homeserver that stores and synchronizes user data. | ||
- `LIGHTNING_NODE_URL`: URL for the Lightning Network node. | ||
- `PKARR_ENDPOINT`: Endpoint URL for PKARR services. | ||
|
||
Install dependencies: | ||
|
||
```sh | ||
$ npm install | ||
``` | ||
|
||
Start the development server: | ||
|
||
```sh | ||
$ npm run dev | ||
``` | ||
|
||
## Deployment | ||
|
||
To deploy the application: | ||
|
||
Copy the environment file: | ||
|
||
```sh | ||
$ cp example.env .env | ||
``` | ||
|
||
Install dependencies, build, and preview the project: | ||
|
||
```sh | ||
$ npm install | ||
$ npm run build | ||
$ npm run preview | ||
``` | ||
|
||
## Contribution | ||
|
||
We welcome contributions from the community. If you're interested in contributing, please fork the repository, create a branch, and submit a pull request. | ||
|
||
## License | ||
|
||
This project is licensed under the MIT License. See the LICENSE file for more information. | ||
|
||
## Community and Support | ||
|
||
Join our community to stay up-to-date with the latest news and developments: | ||
|
||
- [Twitter X Updates](https://x.com/getpubky) |