搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

zeemscript/block-roll

运维与部署

自托管、非托管的加密文件存储与分享平台,集成 Stellar 付款和链上文件公证。

160
157
TypeScript
创建于 2 天前

项目介绍

BlockRoll 是一个围绕用户自持控制权设计的文件存储与分享产品:文件加密存储、按文件设置分享方式、用钱包连接完成登录。在存储之外,它接入了两项 Stellar 功能——通过 Freighter 钱包在客户端签名、用 USDC 支付 Premium 订阅;以及“文件公证”,在浏览器内对文件做哈希,再通过 ManageData 操作把哈希锚定到 Stellar,之后任何人都能重新对文件做哈希并与链上记录比对。

仓库包含 Next.js 前端、带 REST 与 WebSocket 接口的 TypeScript/Express 服务端、Foundry 管理的 Solidity 合约、基于 Google Gemini 的 WhatsApp 常见问题机器人,以及一套 React、Vue、CDN 形式的 SDK。它面向想自建或扩展文件存储服务的开发者,而不是直接找托管产品的终端用户。

快速开始

前置条件为 Node.js v18+、Foundry、MongoDB 和 Web3 钱包;启用 WhatsApp 机器人还需 Gemini API Key。按目录逐个安装:

cd contracts && forge install
cd ../clients && npm install
cd ../server && npm install && cp .env.example .env
cd ../whatsapp && npm install && cp env.example .env
cd ../blockroll-kit && npm install

在 server/.env 中配置 MongoDB、JWT 与 BlockDAG,在 WhatsApp 的环境文件中填入 GEMINI_API_KEY。随后按需启动:

cd contracts && forge test
cd ../clients && npm run dev
cd ../server && npm run dev
cd ../whatsapp && npm run dev

WhatsApp 机器人首次启动需要扫码。Stellar 相关配置在 new-frontend/.env.example,目前运行在 Testnet。需要注意,README 的安装步骤引用的是 clients 目录,而 Stellar 代码位于 new-frontend,启动前应先确认前端的准确入口。

使用 SDK

React SDK 提供 hook:const { uploadFile } = useBlockRoll(); await uploadFile({ file, accessType: 'private' });。CDN 版本通过 <script> 标签引入,向 BlockRoll 构造函数传入 API Key。API Key 与钱包绑定;相关文档分散在 SDK 的设计、架构和示例文件中。

使用约束

  • 需要自行维护 MongoDB、配置服务端环境并部署合约,不是开箱即用的托管服务。
  • Stellar 付款和公证目前都在 Testnet,上生产需切换网络和密钥。
  • 仓库未声明许可证,再分发与商用条款不明确。
  • README 中的“bank-level”与 95/100 安全评分属于作者自述,此处未做独立验证。

HotRepo 点评

BlockRoll 在 2026-11-05 出现在 TypeScript 新项目榜上,显示 160 stars、158 forks,报告的增量几乎全部发生在这个窗口的头半天。对一个如此年轻的项目,这个 fork 与 star 的比例并不寻常,常与模板化或自动化行为相关,不宜据此把它当作已有真实用户基础。真正值得看的部分是浏览器端 Stellar 哈希公证,以及钱包签名的 USDC 支付流程,这两块在仓库中可以具体核查。

项目源码与说明

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。