开源
Storj:基于区块链技术实现的云存储平台
来源:元经纪     阅读:795
网站管理员
发布于 2023-06-19 02:22
查看主页

概述

Storj是基于blockchain技术和点对点协议来提供最安全,私有和加密的云存储。 Storj是一个致力于成为免审查、免监控且不会停机的云存储平台。Storj平台通过加密和一系列去中心化的应用程序,允许用户以安全和去中心化的方式存储数据。它使用块交易功能,如交易分类帐、公共/私人密钥加密和加密散列函数以实现安全性。与传统的云存储服务相比,它更便宜、更快、更安全。

Storj 测试网

storj-sim工具使您能够运行 Storj 网络的所有组件(卫星、存储节点、控制台和网关)并在本地计算机上测试它们。 在每天使用 Storj 时,Satellite、存储节点和上行链路都在不同的服务器和计算机上运行,​​但出于测试网络的目的,所有组件都在本地运行。

安装依赖项

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

您需要安装:
  1. Go 1.18
  2. C tooling
  3. Postgres
  4. Redis
可以按照golang.org上的说明安装 Go 1.18 。 安装 C 工具:
  • Linux apt install build-essential:。调整您的发行版。
  • Mac:安装 XCode,然后安装xcode-select --install.
  • Windows:tdm-gcc是最容易上手的。mingw2、MSYS2 和类似的也可以,但是它们的设置稍微复杂一些。
您可以通过 docker 设置 postgres。有关详细信息,请参阅使用 Postgres部分。否则,找到适合您系统的安装指南。 安装redis:
  • Linux apt install redis-server:。调整您的发行版。
  • Mac:brew install redis
  • Windows:下载 [https://github.com/ServiceStack/redis-windows/raw/master/downloads/redis-latest.zip]。提取到任何位置并将其添加到您的 Environment Variable PATH

安装和配置

git clone https://github.com/storj/storj.git storj
cd storj
make install-sim
确保该storj文件夹在 之外GOPATH,否则您可能会看到错误。 这会将 storj-sim 卫星存储节点网关和上行链路二进制文件安装到 Go 配置为在系统上输出二进制文件的任何位置。默认情况下,这是$HOME/go/bin. 如果此位置不在您的位置,$PATH请运行 `export PATH="$HOME/go/bin:$PATH" 添加它。 接下来,运行设置: storj-sim 需要 Postgres。需要运行一个 postgres 实例,并且需要在设置时向 storj-sim 提供连接字符串。有关详细信息,请参阅下面有关使用 postgres 的部分。
storj-sim network setup --postgres=postgres://[user]@[addr][:port]/[dbname]?sslmode=disable
您现在已经配置了带有默认配置选项的 Storj 测试网络。 --config-dir您可能还想通过导航到指定所有配置的根目录来查看配置。您可以根据需要在那里调整配置设置。 为了深入了解引擎盖下发生的事情,您可以使用-x--print-commands查看流程是如何启动的。 下一步是运行它!

运行测试网络

现在配置已经完成,我们可以启动测试网络:
storj-sim network run
您的测试网络现在正在运行。您应该会看到包含您的 Amazon S3 网关访问权限和密钥的输出,您将需要这些密钥来连接 Amazon S3 兼容的客户端。 目前它正在通过以下方式分配端口: 端口格式为:“1PXXE”,其中P为对等类,XX为实例索引,E为端点。
  • 网关从端口开始11000
  • 版本控制在端口12000
  • Bootstrap 服务器在端口13000
  • 卫星从港口开始10000
  • 卫星控制台在端口上启动10002
  • 存储节点公共端口从端口开始14000
  • 存储节点私有端口从端口开始14001
有关详细信息,请参阅storj-sim 网络源代码。 要访问网关并测试您的密钥,请在 Web 浏览器中打开http://127.0.0.1:11000 。 您可以使用 storage 命令访问存储节点仪表板。例如使用默认配置访问存储节点 4 仪表板:
storagenode dashboard --config-dir ~/.local/share/storj/local-network/storagenode/4/ --identity-dir ~/.local/share/storj/local-network/storagenode/4 --address :13004 --color

运行测试

storj-sim network test <command>可用于运行测试。 storj-sim将启动网络,一旦启动并运行,它将执行指定的<command>. 有关网络的信息通过环境标志公开。所有标志都以前缀和索引开头。
  • 地址:STORAGENODE_0_ADDRSATELLITE_0_ADDR,GATEWAY_0_ADDR
  • 键:GATEWAY_0_ACCESS_KEY,GATEWAY_0_SECRET_KEY
  • 目录: STORAGENODE_0_DIRSATELLITE_0_DIR,GATEWAY_0_DIR
您可以通过运行以下命令获取环境标志列表:
storj-sim network env
对于真实世界的示例,您可以查看test-sim.shtest-sim-aws.sh

使用上行链路

要在网络中使用uplink命令行客户端,您必须重用网络设置生成storj-sim的配置。gateway配置gateway文件与使用的配置文件非常相似uplink,它包含访问测试网络所需的内容。 因为gateway配置有额外的字段uplink,你会看到一些INFO Invalid configuraiton file...你可以忽略它们的消息,例如:
2019-11-22T11:55:06.442+0100    INFO    Invalid configuration file key: minio.access-key
2019-11-22T11:55:06.442+0100    INFO    Invalid configuration file key: minio.secret-key
2019-11-22T11:55:06.442+0100    INFO    Invalid configuration file key: server.address
uplink要与配置文件一起使用gateway,您始终必须将--config-dir参数传递给uplink命令行工具,并带有包含该文件的目录的完整路径,例如
 uplink --config-dir /home/user/.local/share/storj/local-network/gateway/0 ls sj://

擦除测试网

storj-sim network destroy可用于轻松擦除网络。但是 postgres 数据库没有被擦除。 在开发过程中,能够删除网络并从头开始设置它通常很不错。 为方便起见,您可以在一行中运行命令,如下所示: storj-sim network destroy && storj-sim network setup && storj-sim network test bash my-test-script.sh

使用 Postgres

以下是使用 postgres 运行 storj-sim 的步骤: 第 1 步:启动一个 postgres 实例。 一种方法是在本地运行 postgres 容器。例如,以下命令将在本地运行一个 postgres docker 容器: 下面假设已经安装了 docker 和 psql。
// pull down official docker image
$ docker pull postgres

$ docker run --rm -e POSTGRES_HOST_AUTH_METHOD=trust -p 5432:5432 --name postgres postgres

// in a different tab run this command to create a database for storj-sim to use
$ docker exec -it postgres createdb -U postgres teststorj

// if you want to run your own postgres queries, run this command to log into the postgres
// interactive terminal
$ psql -h localhost -U postgres
第 2 步:使用 postgres 运行 storj sim
// setup storj-sim network with postgres connection string. You can supply any password
// and database name as long as they match the postgres instance running above
$ storj-sim network setup --postgres=postgres://postgres@localhost/<dbName>?sslmode=disable

$ storj-sim network run

使用 Redis

一些不同的进程可以使用 redis 作为它们的数据库。Live accounting cache 和 revocation db 都需要使用 Satellite 上的 redis。它们将作为单独的数据库存在于同一个 redis 实例上。例如,实时会计可能使用redis://127.0.0.1:6379?db=0而撤销可能使用redis://127.0.0.1:6379?db=1。 默认情况下,storj-sim 将为每个运行的 Satellite 启动一个 redis 服务器,并将每个数据库的相应连接字符串写入 redis.conf 文件。您必须redis-server在本地安装才能运行此过程。您可以在https://redis.io/download下载 redis 。(在 macOS 上你可以用 homebrew 安装 redis brew install redis) 例如,如果您正在运行 2 颗卫星...
storj-sim network --satellites 2 setup
storj-sim network --satellites 2 run
...可能会生成如下配置。
// satellite 0
--live-accounting.db: redis://127.0.0.1:10004?db=0
--server.revocation-dburl: redis://127.0.0.1:10004?db=1
// satellite 1
--live-accounting.db: redis://127.0.0.1:10014?db=0
--server.revocation-dburl: redis://127.0.0.1:10014?db=1
或者,您可以设置自己的 redis 服务器并直接连接 storj-sim。 例如,您可以运行redis-server(default port = 6379) 或redis-server --port <port>then storj-sim network setup --redis 127.0.0.1:<port>。您还可以为 $STORJ_SIM_REDIS 设置一个环境变量,例如,然后在不传递标志的情况下export STORJ_SIM_REDIS=127.0.0.1:<port>简单地运行。storj-sim network setup如果你自己运行一个 redis 服务器,所有卫星将使用相同的服务器但不同的数据库。 2 颗卫星的示例:
storj-sim network --satellites 2 --redis 127.0.0.1:6379 setup
storj-sim network --satellites 2 run
或者
export STORJ_SIM_REDIS=127.0.0.1:6379
storj-sim network --satellites 2 setup
storj-sim network --satellites 2 run
结果是:
// satellite 0
--live-accounting.db: redis://127.0.0.1:6379?db=0
--server.revocation-dburl: redis://127.0.0.1:6379?db=1
// satellite 1
--live-accounting.db: redis://127.0.0.1:6379?db=2
--server.revocation-dburl: redis://127.0.0.1:6379?db=3
如果您正在运行自己的 Redis 服务器,则可以指定数据库值以默认--redis-startdb0. 例如,storj-sim network --satellites 2 --redis 127.0.0.1:6379 --redis-startdb 3 setup将从 3 开始递增 dbs(2 颗卫星的 db=3,4,5,6)。它假定从起始值开始的所有数据库都可用。

下一步

请参阅Uplink CLIS3 网关 教程,了解如何将数据上传和下载到测试网络。

其他 Storj详细使用教程

wiki 有文档和教程。查看这三个教程:

执照

此存储库当前已获得AGPLv3许可。

对于根据 AGPLv3 发布的代码,我们要求贡献者签署我们的 贡献者许可协议 (CLA),以便我们将来可以根据 Apache v2 或其他许可重新许可代码。

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
清华大学成立人工智能学院 “图灵奖”获得者姚期智任院长
从用户到制造,绿色慧联推出行业首个C2M定制车型
天生牛马体质!日本男子凌晨2点半睡3点起:坚信寿命会延长
运营不到3年 腾讯代理《黑色沙漠》手游国服今日停运
第二届短剧出海产业大会(北京站)5月18日顺利召开

首页

分类

定制方案

消息

我的