3.2.3 P2P Chat

Socket.io approach:

// backend/src/socket/walletChatSocket.js
module.exports = (io) => {
  io.on('connection', (socket) => {
    socket.on('joinWalletChannel', ({ wallet1, wallet2 }) => {
      const roomName = [wallet1, wallet2].sort().join('-');
      socket.join(roomName);
    });

    socket.on('walletMessage', ({ wallet1, wallet2, content }) => {
      const roomName = [wallet1, wallet2].sort().join('-');
      io.to(roomName).emit('walletMessage', {
        from: wallet1,
        content,
        timestamp: Date.now()
      });
    });
  });
};

Last updated