seekerpay_chat 1.1.1
seekerpay_chat: ^1.1.1 copied to clipboard
End-to-end encrypted, on-chain (Arweave/Irys) chat for SeekerPay .skr identities.
seekerpay_chat #
End-to-end encrypted, on-chain (Arweave/Irys) chat for SeekerPay .skr identities.
Features #
- End-to-End Encryption — Uses
cryptographyfor secure message encryption/decryption using Ed25519 keys derived from the user's Solana wallet. - On-Chain Storage — Messages are stored on Arweave via the Irys Network, ensuring data permanence and censorship resistance.
- Identity-Based — Chat with any .skr domain or Solana address.
- Offline Outbox — Messages are queued locally and synchronized with Arweave when online.
- Local Cache — SQLite-based local storage for fast message retrieval and conversation history.
Installation #
dependencies:
seekerpay_chat: ^1.1.0
Usage #
Initialize Chat Service #
final chatService = ref.watch(chatServiceProvider);
// Load conversations
final conversations = ref.watch(conversationsProvider);
Send a Message #
await ref.read(chatServiceProvider).sendMessage(
recipientAddress: 'CvH5vB...',
text: 'Hello, Seeker!',
);
Listen for Messages #
final messages = ref.watch(messagesProvider('CvH5vB...'));
messages.when(
data: (list) => ListView.builder(
itemCount: list.length,
itemBuilder: (context, i) => Text(list[i].text),
),
loading: () => const CircularProgressIndicator(),
error: (e, _) => Text('Error: $e'),
);
License #
MIT — see LICENSE.