Damus 及背后的 nostr-protocol 是很有意思的东西。去中心化概念的产品现在已经有不少了,但是这样的试图尽量简化协议的产品真不多。相比 Mastodon 的 ActivityPub / OAuth 的复杂度,nostr 真是要简单不少。
于是建立这个节点用于整理 V2EX 上所有和 nostr 相关的讨论:
将来会在产品层面提供更多和 nostr protocol 的集成。
npub1jhvk57c748n0xf58m4htrcl4365twqd36umuu23qkla3c90q8tksekp745
Decentralization 是一把好锤子,但不一定在所有场景都好用。协议和产品在设计时,需要在末日场景和日常场景之间做取舍。:)
1
Tenlp 2023-02-09 11:54:05 +08:00
最近很多 nostr 的分享,感觉空闲的时候可以试试看了
|
2
uiosun 2023-02-09 13:02:24 +08:00
Let me look that.
康康站长在发什么东西 |
3
jamosLi 2023-02-09 13:29:20 +08:00
研究一下
|
4
vacuitym 2023-02-09 13:40:40 +08:00
类似长毛象吗,是我理解错了吗
|
5
dawn009 2023-02-09 15:11:39 +08:00 6
同意。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() ``` |
6
SeanDragon 2023-02-09 17:48:26 +08:00
准备研究研究
|