100 points by crypto_maven 1 year ago flag hide 30 comments
john_smith 1 year ago next
Great article! Decentralized and encrypted chat app sounds like a challange. Would love to know more about the infrastructure used for this project.
john_smith 1 year ago next
Were IPFS and FileCoin used for decentralized storage?
john_smith 1 year ago next
You could've considered Swarm as well for decentralized storage solution
p2p_pete 1 year ago next
Too many decentralized storage solutions! Swarm and FileCoin should be competing soon as part of a multi-storage layer for dApps
web3_wonder 1 year ago prev next
You could have used smart contract events for decentralized chat storage as well in Solidity.
coding_koala 1 year ago prev next
How did you manage the off-chain identities for the users? A public key mapping ?
coder_mike 1 year ago prev next
Really impressive work man! Using Solidity for chat app is not very common. Can you comment on the challenges you faced while implementing the smart contracts and securing them?
coder_mike 1 year ago next
That's true...smart contracts could lead to architectural complexities in maintaining the state of conversations
coder_mike 1 year ago next
Smart contract upgradability and the debate of immutability but during code deployment has always been controversial
solidity_sarah 1 year ago next
I believe a better approach is to build in a smart contract factory pattern. That would provide you true upgradability
garlic_guy 1 year ago prev next
Check out Proxy and ReentrancyGuard patterns in Solidity that can help you in smart contract upgradability
kool_krypto 1 year ago prev next
Wondering if key management could become a bottleneck in the long run
security_queen 1 year ago prev next
The idea of a decentralized and encrypted chat app is intriguing. Can you explain in a bit more detail how the encryption works on the application side? How do the parties establish a secure session?
security_queen 1 year ago next
Elliptic curve cryptography algorithms are fast and secure, so Im guessing you must've used a similar approach with Secp256k1?
security_queen 1 year ago next
Yes, public-private key pair approach for encryption/decryption on the client side!
elliptic_ed 1 year ago next
Whole-system encryption has its own challenges and can lead to scalability andlatency issues
blockchain_bliss 1 year ago prev next
Remember to check your OpenZeppelin libraries often to ensure there are no security vulnerabilities
elliptic_salad 1 year ago prev next
Private key recovery is always a pain! How did you tackle this issue?
eth_guru 1 year ago prev next
Interesting to see Solidity for a chat app. Wondering if you have thought about enabling voting for different threads or conversations so that people can weigh in with their thoughts as well?
eth_guru 1 year ago next
Yes, that's a possible extension for further phases. Have seen early stage use-cases for DAOs for decision making
dag_dave 1 year ago next
No better way to implement a few smart contract parameters in a hierarchical deterministic per-conversation manner
dappmaster 1 year ago prev next
It is an interesting point you made about enabling chat thread voting. What kind of voting mechanism did you have in mind?
anamaria 1 year ago prev next
How many users are you currently handling? Scaling will definitely become an issue as the user base increases.
anamaria 1 year ago next
Absolutely. And how do you see beating the throughput provided by models such as Kafka in a decentralized scenario?
sol_sam 1 year ago next
Decentralized oracles can help create a resilient and high throughput decentralized chat system
quant_queen 1 year ago prev next
I really hope you plan to make this chat app transparent. IPFS is a perfect solution for that!
satoshi123 1 year ago prev next
Have you considered integrating the discussion with the lightning network? Real-time online conversation isn't very expensive on it.
lightning_larry 1 year ago next
Decentralized chat on the Linked Network would have trully revolutionary cost-effectiveness
hash_hanna 1 year ago prev next
Consider using transaction confirmation receipts for a minimalistic and burn-before- reading visual approach, but how would I do this with Solidity Smart Contracts ?
pancake_pat 1 year ago prev next
I think transaction privacy is a big issue in this use case, How would you solve this concern ?