v2ex.com/go/nostr

2023-02-09 11:41:55 +08:00
 Livid

Damus 及背后的 nostr-protocol 是很有意思的东西。去中心化概念的产品现在已经有不少了,但是这样的试图尽量简化协议的产品真不多。相比 Mastodon 的 ActivityPub / OAuth 的复杂度,nostr 真是要简单不少。

于是建立这个节点用于整理 V2EX 上所有和 nostr 相关的讨论:

https://www.v2ex.com/go/nostr

将来会在产品层面提供更多和 nostr protocol 的集成。

npub1jhvk57c748n0xf58m4htrcl4365twqd36umuu23qkla3c90q8tksekp745


Decentralization 是一把好锤子,但不一定在所有场景都好用。协议和产品在设计时,需要在末日场景和日常场景之间做取舍。:)

7935 次点击
所在节点    nostr
6 条回复
Tenlp
2023-02-09 11:54:05 +08:00
最近很多 nostr 的分享,感觉空闲的时候可以试试看了
uiosun
2023-02-09 13:02:24 +08:00
Let me look that.

康康站长在发什么东西
jamosLi
2023-02-09 13:29:20 +08:00
研究一下
vacuitym
2023-02-09 13:40:40 +08:00
类似长毛象吗,是我理解错了吗
dawn009
2023-02-09 15:11:39 +08:00
同意。nostr 基础协议浅显易懂,一小段代码即可实现。

```
import secp256k1
import hashlib
import json
import time
import websocket

privkey = secp256k1.PrivateKey() #这里随机生成一个私钥,可以改成固定的
pubkey_64hex = privkey.pubkey.serialize()[1:].hex()

content = "Hello"
created_at = int(time.time())
kind = 1
tags = []

event_data = json.dumps([0, pubkey_64hex, created_at, kind, tags, content], separators=(',', ':'), ensure_ascii=False).encode()

event_hash = hashlib.sha256(event_data).hexdigest()
sig = privkey.schnorr_sign(bytes.fromhex(event_hash), bip340tag=None, raw=True).hex()

event = {
"id": event_hash,
"pubkey": pubkey_64hex,
"created_at": created_at,
"kind": kind,
"tags": tags,
"content": content,
"sig": sig
}
send_buf = json.dumps(["EVENT", event])

print(f"Send: {send_buf}")
ws = websocket.create_connection("wss://xxxxxx") #这里填写 Relay 的地址
ws.send(send_buf)
response = ws.recv()
print(f"Response: {response}")
ws.close()
```
SeanDragon
2023-02-09 17:48:26 +08:00
准备研究研究

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/914514

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX