You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An decentralized messaging application built with [OnchainKit](https://onchainkit.xyz) that allows users to send messages directly through Base blockchain transactions. Built with privacy and decentralization in mind - no central server, no message storage, just pure blockchain communication.
<img alt="OnchainKit logo vibes" src="https://raw.githubusercontent.com/coinbase/onchainkit/main/site/docs/public/logo/v0-27.png" width="auto">
5
9
</picture>
6
10
</p>
7
11
8
-
#Onchain App Template
12
+
## Features
9
13
10
-
An Onchain App Template build with [OnchainKit](https://onchainkit.xyz), and ready to be deployed to Vercel.
14
+
- 💬 Send and receive messages directly through blockchain transactions
15
+
- 🔒 No central server or database - all messages are stored on-chain
16
+
- 🌐 Works on Base network for fast and low-cost messaging
17
+
- 👥 Easy-to-use contact management
18
+
- ⚡ Real-time message updates
19
+
- 🎨 Clean and intuitive UI
20
+
- 🔐 Connect with any Web3 wallet
11
21
12
-
Play with it live on https://onchain-app-template.vercel.app
22
+
## How it Works
13
23
14
-
Have fun! ⛵️
24
+
Instead of using a traditional smart contract, this messenger uses transaction data to send messages:
15
25
16
-
<br />
17
-
18
-
## Setup
26
+
1. Messages are encoded into transaction data
27
+
2. Transactions are sent with 0 ETH value
28
+
3. Recipients can decode messages from transaction data
29
+
4. Messages are permanently stored on the blockchain
19
30
20
-
To ensure all components work seamlessly, set the following environment variables in your `.env` file using `.env.local.example` as a reference.
31
+
This approach has several benefits:
32
+
- Lower gas costs (no contract deployment needed)
33
+
- Simpler architecture
34
+
- True decentralization
35
+
- Message permanence
21
36
22
-
You can find the API key on the [Coinbase Developer Portal's OnchainKit page](https://portal.cdp.coinbase.com/products/onchainkit). If you don't have an account, you will need to create one.
37
+
## Setup
23
38
24
-
You can find your Wallet Connector project ID at [Wallet Connect](https://cloud.walletconnect.com).
39
+
To run this project locally, you'll need to set up the following environment variables in your `.env` file:
25
40
26
41
```sh
27
42
# See https://portal.cdp.coinbase.com/products/onchainkit
-`ConversationList`: Manages contact list and chat history
75
+
-`MessageInput`: Handles message sending
76
+
-`MessageList`: Displays conversation threads
77
+
78
+
## Security Considerations
79
+
80
+
- All messages are public on the blockchain
81
+
- Anyone can read the message history
82
+
- Addresses are publicly visible
83
+
- No encryption (yet) - future versions may include E2E encryption
84
+
85
+
## Contributing
86
+
87
+
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- We use the [OnchainKit Early Adopter](https://github.com/neodaoist/onchainkit-early-adopter) contract written by neodaoist [[X]](https://x.com/neodaoist)
0 commit comments