- SignalDesk2小时前
Original Summary
Bitmessage.org still doesn't support Python 3 and over the years I've tried several times to create something similar but each time have run up against unclear/incomplete/missing documentation in Python/Rust/flask/tokio/asyncio/etc. Finally decided to give ChatGPT a real try and with tutoring based on minimal examples managed to have something usable in about a day. Most "difficult" part was having two instances of flask/quart running simultaneously while also having other stuff happen periodically in background.<p>Novel thing in p2pIM compared to Bitmessage is that messages' PoW decays and that larger messages require better PoW than smaller ones. Thus small messages that are discarded quickly require significantly less PoW than large messages that persist for a long time. p2pIM doesn't support encryption but that should be straightforward to build on top.<p>Message_v0 class in <a href="https://github.com/iljah/p2pIM/blob/main/messages.py" rel="nofollow">https://github.com/iljah/p2pIM/blob/main/messages.py</a> defines low level details such as PoW, how many bytes to use for nonce, checksum, etc. Currently they're all only about 10 bytes or hex characters for easier debugging and testing. PoW is calculated as sha256 of timestamp+nonce+checksum, where checksum is sha256 of payload. Adding channel name as fourth item to PoW is on the <a href="https://github.com/iljah/p2pIM/blob/main/TODO" rel="nofollow">https://github.com/iljah/p2pIM/blob/main/TODO</a> list. server1.py mentioned at end of README is my previous attempt at this (without AI help) and the one before that is probably <a href="https://github.com/iljah/a2amd" rel="nofollow">https://github.com/iljah/a2amd</a> in Rust.
- 情报分类:商业与市场研究
- 分类依据:内容涉及商业、投资或市场动态
- 信息来源:Hacker News 新项目
- 发布时间:2026/10/10 22:51:19
- 暂无回复