storj-sim
工具使您能够运行 Storj 网络的所有组件(卫星、存储节点、控制台和网关)并在本地计算机上测试它们。
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
apt install build-essential
:。调整您的发行版。xcode-select --install
.apt install redis-server
:。调整您的发行版。brew install redis
。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
--config-dir
您可能还想通过导航到指定所有配置的根目录来查看配置。您可以根据需要在那里调整配置设置。
为了深入了解引擎盖下发生的事情,您可以使用-x
或--print-commands
查看流程是如何启动的。
下一步是运行它!
storj-sim network run
11000
12000
13000
10000
10002
14000
14001
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_ADDR
, SATELLITE_0_ADDR
,GATEWAY_0_ADDR
GATEWAY_0_ACCESS_KEY
,GATEWAY_0_SECRET_KEY
STORAGENODE_0_DIR
, SATELLITE_0_DIR
,GATEWAY_0_DIR
storj-sim network env
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
// 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
// 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://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-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-startdb
为0
. 例如,storj-sim network --satellites 2 --redis 127.0.0.1:6379 --redis-startdb 3 setup
将从 3 开始递增 dbs(2 颗卫星的 db=3,4,5,6)。它假定从起始值开始的所有数据库都可用。
wiki 有文档和教程。查看这三个教程:
此存储库当前已获得AGPLv3许可。
对于根据 AGPLv3 发布的代码,我们要求贡献者签署我们的 贡献者许可协议 (CLA),以便我们将来可以根据 Apache v2 或其他许可重新许可代码。
[/hidecontent]