wakuconnect-chat-sdk/README.md

130 lines
2.8 KiB
Markdown

# Status Web 🌐
[![CI](https://github.com/status-im/status-web/actions/workflows/ci.yml/badge.svg)](https://github.com/status-im/status-web/actions/workflows/ci.yml)
## About
Embeddable, customizable and themable component for your Status Community.
### Who
- For community leaders
- online content creators
- and their followers
### What
- It is 100% open source
- 100% decentralized
- Peer-to-peer
- Private
- Pseudoanonymous
- End-to-end encrypted
- Free
- Permissionless
- Serverless
- Group chat platform
- And a virtual space outside the jurisdiction of any government
### Why
- To communicate and collaborate freely without worrying about
- Censorship
- Persecution
- Chilling effects
- Interference
- Oppression
- Being deplatformed, or shut down
- Support
- Autonomy
- Free speech
- Freedom of association
- Freedom to transact
- Right to privacy
- Crypto native and frictionless integration
- Monetization
- Facilitation of sharing of common interests, needs, desires and values
- Be trusted alternative to centralized group chat application
## Usage
### For Community owners 👥
**Get public key to your pre-existing Community:**
1. Open Status Desktop
2. Select Community
3. Click on its overview in upper left corner
4. Invite new people
5. Share community
6. Get only the public key from the URL (e.g. `0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801`)
**Or create new one first:**
1. Get Status Desktop at <https://status.im/get>
2. Go to Chat
3. Click on plus icon
4. Click on Communities
**Use the Community component:**
In your project,
Install package:
```sh
npm install @status-im/react
```
Import component:
```js
import { Community } from '@status-im/react'
```
Set component props:
```js
<Community
publicKey="0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801"
theme="light"
/>
```
For an example, see [examples/with-vite/src/app.tsx](./examples/with-vite/src/app.tsx).
### For User 👤
**Simply visit your Community's URL from the browser:**
For example, <https://status-devcon.vercel.app/>.
If the Community doesn't require a joining request, that would be it. So look around and get the feel for the space.
**Once ready to chat, create a throwaway profile:**
Use Throwaway Profile > wait for your request to be approved and the chat input enabled > react to and write messages
**Optionally, you could even run the application locally yourself.**
Get the source ready:
```sh
git clone https://github.com/status-im/status-web.git
cd ./status-web
npm install
npm build
```
Add your Community's public key to your environment:
```sh
echo 'PUBLIC_KEY="0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801"' >> examples/with-vite/.env
```
And run it:
```sh
npm run dev --workspace=examples/with-vite
```