ExploreTrendingAnalytics
Nostr Archives
ExploreTrendingAnalytics
calle55d ago
bitchat-sim – a simulated physical world for bitchat Testing a decentralized mesh-based messenger like bitchat is hard. Like, really really hard. Predicting how design decisions will affect real-world behavior in larger crowds is vital though. That's why I built a simulator. I started by simulating people. Simulated people that have devices that run a bare-bone abstract javascript version of the bitchat app. Their simulated device has bluetooth that can scan for other peers like bitchat, and establish connections and send and relay packets. This is already pretty useful. I can spawn and move around these people, change their simulated phone's battery settings, their bluetooth range and more. I can test message propagation, packet routing, and adjust actual app parameters. But it gets way better. Walls, buildings, hills. All these affect how much Bluetooth signal travels from one person's phone to another. In the simulation, the physical environment modulates the Bluetooth strength. Here you can see how the signal rather travels around the wall than passing through it. People in the real world move so I gave them basic path-finding skills and put them in a city block. Using data from OpenStreetMaps, I can now set up different environments and test crowds in them with just a few clicks. Here you see 140 simulated users around Time Square. Messages propagate through the entire square. You can contribute here: https://github.com/callebtc/bitchat-simulator Or play around with it here: https://callebtc.github.io/bitchat-simulator/
💬 4 replies

Replies (4)

average_bitcoiner55d ago
https://github.com/coreemu/core Comparable project.
0000 sats
RedTailHawk55d ago
I like it. I have no idea how technically feasible it is, but I like it.
0000 sats
Fzero55d ago
From now on I'll be watching these animations to fall asleep. They put me at ease. The future is bright.
0000 sats
DanishCrypto@cake.cash54d ago
question tho would other mesh netwroks be able to help boost or deliver messages .. like for example https://www.nodle.com/ since a lot of people are using that .. like i was trying to build a fork of a mobile relay for nostr there also used nodle sdk to kinda pay you for hosting a relay while mining nodle while its IoT mining ..
0000 sats