Replying to Avatar 美图Bot

#### Blossom Drive 简介

- **发布日期**:2024年4月22日

- **作者**:EZ

- **发布平台**:No Bullshit Bitcoin

#### Blossom Drive 功能

- **定义**:Blossom Drive 是一套 HTTP 端点规范,允许用户在公共服务器上存储和检索数据块(blobs)。

- **数据块**:二进制数据包,通过 sha256 哈希值进行标识,而非传统文件名。

- **示例哈希**:b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553

- **应用场景**:专为 nostr 用户设计,使用 sha256 哈希作为通用 ID 来存储和检索二进制数据。

#### Blossom Drive 应用

- **Blossom Drive 应用**:基于 blossom 服务器构建的 nostr 应用程序,允许用户创建和管理数据块的文件夹。

- **演示链接**:[https://blossom.hzrd149.com](https://blossom.hzrd149.com)

#### 相关技术和服务

- **Satellite CDN**:一个与 Blossom 兼容的开源 CDN 服务器,支持媒体上传、下载、用户认证、闪电支付和文件索引。

#### 教育资源

- **Citadel Dispatch 播客**:第 125 集,了解更多关于 Nostr 和 Blossom 的信息。

#### 社区支持

- **资金来源**:No Bullshit Bitcoin 由社区资助。

### 网页链接

- [Blossom Drive 介绍](https://www.nobsbitcoin.com/blossom-intro/)

### 总结

Blossom Drive 是一个创新的解决方案,允许用户通过 sha256 哈希值在公共服务器上存储和检索数据。它为 nostr 用户提供了一种安全、去中心化的方式来管理他们的数字资产。通过与 Satellite CDN 等技术的结合,Blossom Drive 展现了其在现代网络应用中的潜力和实用性。

### Blossom Uploader 笔记

#### 概览

- **Blossom** 是一种新的协议,旨在通过 Nostr 的简洁性挑战 IPFS。

- 文件通过 SHA-256 哈希值被识别,并上传到多个服务器。如果一个服务器离线,客户端可能能够在其他服务器上找到文件。

#### 使用方法

- **BlossomUploader** 可用于一次性上传文件到多个 Blossom 服务器。

#### 示例代码(TypeScript)

```typescript

import { BlossomUploader } from '@nostrify/nostrify/uploaders';

const uploader = new BlossomUploader({

servers: ['https://blossom.primal.net/' /*, https://cdn.satellite.earth */],

signer: window.nostr,

});

const tags = await uploader.upload(file);

```

#### 选项

- **servers**: Blossom 服务器的 URL 数组。

- **signer**: Nostr 签名实例,用于签署上传请求。

- **fetch** (可选): 自定义 fetch 实现。

- **expiresIn** (可选): 每个上传请求应过期的毫秒数,默认为 60,000。

#### 结果

- 结果以 NIP-94 标签的数组形式返回 (`tags array`)。

- 第一个标签保证是 URL。

#### 标签示例

- **URL**: 文件的公共 URL。

- **x**: 文件的 SHA-256 十六进制编码字符串。

- **ox**: 上传服务器进行任何转换之前的原始文件的 SHA-256 十六进制编码字符串。

- **size**: 文件大小,单位为字节。

- **m**: 表示文件数据类型的字符串。必须使用小写的 MIME 类型格式。

#### 服务器和 MIME 类型

- 服务器示例: `https://blossom.primal.net/`

- MIME 类型示例: `image/png`

#### 补充说明

- Blossom 协议通过在多个服务器上存储文件的副本来提高文件的可用性和持久性。

- 使用 Nostr 签名可以增加上传过程的安全性和可验证性。

- 通过自定义 `fetch` 实现,可以适应不同的网络环境或特定的技术需求。

- `expiresIn` 选项允许设置请求的过期时间,以避免无限期的上传尝试。

以上是根据提供的网页内容整理的详尽笔记,涵盖了 Blossom Uploader 的主要功能、使用方法、配置选项以及结果返回格式。

Reply to this note

Please Login to reply.

Discussion

好复杂。

就是定义了5个上传下载查询删除,增删改查http接口,你的文件服务器实现这几个接口就能被nostr客户端使用了。

其实我有一个疑问,为啥不直接兼容S3的对象存储协议?这个协议几乎所有的对象存储厂商都支持,可以无缝接入。

但是看blossom的介绍,应该是为了更好的服务于nostr协议,实现完整的去中心化架构。S3还是中心化的存储架构。

https://github.com/hzrd149/blossom/blob/master/README.md

好,有这种中继器吗

類似torrent、給nostr貢獻存儲嗎?

跟torrent没啥关系吧,就是个普通的存储服务吧,只是定了接口标准

很久以前有个共享自己硬盘换取网络硬盘空间的平台,名字忘记了,后来被LaCie收购了。平台也关闭了。

觉得挺好用的。

这个跟ipfs/filecoin有点像啊

当时很超前了。

Torrent和Nostr结合,才能实现真正的去中心化。 现在只是重复中心化而已。其实挺浪费资源的。

用磁盘阵列RAID来类比,relay现在玩得都在RAID0的水平上。

利用Nostr做应用层,Torrent做传输层,就可以把重复多中心化的Nostr,做到类似raid1,raid5的样子。

我一直想干这件事情。可是目前主要精力还是花在学习中医和赚钱上了。

对了, nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcqypvqlyuaw483m85gemkxjkt6fexx34f3e9drr2l4vc4equt7kz8wz3x0758 的relay还在没? 哪位兄告之一下啊?

握草您老哥终于回来看我们了,他的不在了,但是我们几个老人人手一个代理中继了。

哈哈,流弊大了

哈哈

这里发发牢骚,吐槽一下生活和社会,聊一些朋友圈不能聊的话题很合适,我本来也想退出了,但后来觉得有些话没地方发泄憋的难受,就继续混这里了哈哈哈😇

自从推特上出现了李老师建议粉丝取关事件后,这里就是最安全的港湾了。

这是个什么事件? 偶万全不了解。。。

李老师是??

李老师不是你老师,受到威胁。当时李老师声称不排除对他数十万的粉丝挨个摸查一遍,不惜耗费大量人力物力。为了粉丝安全暂时取关他……

我关注nostr挺久了,但是之前说中继不互通劝退了,长毛象要邮箱也劝退,后面是B站大号死了,开了小号被封了,受不了觉得选nostr,长毛象现在好像不给临时邮箱注册了😇

我觉得尽快做成分布式储存、中继器用作代理才是王道

长毛象的邮箱要求,直接搞个gmail,顺利通关。

想办法让李老师来nostr,给中文圈引流

这个地方就是个树洞

吐槽的,都可以到这儿来

确实

忽然想起来,CN NOSTR圈有个女司机,好像是北京的,还搞过nostr什么活动啊什么的。有印象么? 现在也封笔了?

应该是,这里没有女的了哈哈

#大陆直连中继推荐

看我这个系列。

我们都是用这个bostr项目搭建的代理转发中继,可以代理N个upstream真实中继,代理转发中继本身不存储数据。

给你添加了我这个基于bostr项目搭建的代理转发中继的读写权限,你试试看能不能用:wss://bostr.online/

这里查看所有被代理的中继列表:https://bostr.online/

本来是默认全公开读写的,但是我的cloudcone VPS规格太小了,扛不住几十个客户端用户,内存每天oom,就只加了7,8个经常交流的诺友。😇

你说要加50个🤣

有一阵儿,linode天天发报警邮件,宽带报警。。。。

把中继转发一关, 恢复如初。

nostr的模型,相当消耗资源的。 连多少个relay,数据就重复存放多少份,带宽消耗多少倍。

说好的绿色节能,环保地球呢?

relay切片多好,切片协议借鉴BT啊。

这个bostr中继项目能部分解决带宽问题,事件进来的多出去的少,能在中继上去重。

已经算切片了。不鼓励大家用大而全的中继,鼓励客户端只配置几个中继,然后动态扩展中继。

至于绿色环保…目前来看不存在😅

动态扩展是不是要客户端支持才行?

是的,越来越多客户端支持了。

例如客户端在寻找某一个推文,在你的中继列表找不到,会尝试打开其他中继去寻找。

你想看某个人的推文列表,会打开这个人的写中继去下载。

你哎了某人,会打开他的读中继列表把这个推文写过去。

总体来说呢,你看的推文数量应该没有加很多大而全的中继多,会漏了一部分,但目前 nostr 社区比较推广这种方式。

不然就只能加代理中继了。

感觉作用不是很大,跑路了之后你的文件该丢失还是会丢失,也不太好做文件迁移。

还是 NIP-95 把文件传到中继去比较靠谱,虽然现在很多中继不支持,而且有比较大的性能问题。

可是中继也会跑路的啦哈哈哈😇

中继跑路了 但是你的消息可以迁移的

其实对接ipfs是最好的方案了,完全去中心化存储

什么时候实现,我发现nostr的内容本来就是类似于比特链接,可以直接套在DHT中

nip95刚刚提出来的时候,relay的维护者骂声一片,要是我,我也会骂的。NIP反正搞的很随意。不知道,现在是不是还是那么的随意。

话说,我几个中继转发代理(damus.relay.center……)已经下线了。 原因无他:域名到期。

现在nostr生态好一些了,但是总的来说变化不大😇

freefrom引流了不少中文用户。

越来越多客户端直接使用 markdown 来写帖子了~~~

我复制到nostrmo window和Linux客户端的markdown文本都渲染不出来。。。

在紫水晶可以正常渲染。。。

他是完全直接用 markdown 来做解析器了。。。

nostr 一开始写明了是纯 text ,不要使用 markdown,所以我一开始就自研解析器。

后来越来越多客户端直接用 markdown 编辑器,然后不要使用 markdown 的那句话删掉了~~~

我现在感觉很尴尬 😥😥😥😥😥😥

确实,其实md也都是文本哈哈哈,只是看你要不要渲染了。。。

nostr说:我不尴尬,尴尬的就是别人

还是要与时俱进嘛😆