Leszek Wiesner 90bae66c96 Distributor node - dockerize & fix dependencies 3 anos atrás
..
bin 8a858d797f storage-node-v2: Initialize CLI framework (oclif). 3 anos atrás
scripts 841db7295e Storage node scripts - add upload.sh and modify metadata 3 anos atrás
src 49f593a8e4 Fix dev:init commands typos 3 anos atrás
.eslintignore 5a74d847ef storage-node-v2: Add queries for query-node. 3 anos atrás
.eslintrc.js 411f131a64 storage-node-v2: Update lint config. 3 anos atrás
.gitignore a266ab9721 storage-node-v2: Add code comments. 3 anos atrás
.prettierignore 97779b3def storage-node-v2: Improve ‘create storage bucket’ command. 3 anos atrás
README.md 645777ec1b storage-node-v2: Add `version` endpoint 3 anos atrás
package.json 65d5d004ae storage-node-v2: Add storage node JSON metadata. 3 anos atrás
tsconfig.json 65d5d004ae storage-node-v2: Add storage node JSON metadata. 3 anos atrás

README.md

storage-node-v2

Jostream storage subsystem.

oclif Version Downloads/week License

storage-node dev:init

Initialize development environment. Sets Alice as storage working group leader.

USAGE
  $ storage-node dev:init

OPTIONS
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/dev/init.ts

storage-node dev:multihash

Creates a multihash (blake3) for a file.

USAGE
  $ storage-node dev:multihash

OPTIONS
  -f, --file=file  (required) Path for a hashing file.
  -h, --help       show CLI help

See code: src/commands/dev/multihash.ts

storage-node dev:sync

Synchronizes data - it fixes the differences between local data folder and worker ID obligations from the runtime.

USAGE
  $ storage-node dev:sync

OPTIONS
  -d, --uploads=uploads                                (required) Data uploading directory (absolute path).
  -h, --help                                           show CLI help

  -o, --dataSourceOperatorHost=dataSourceOperatorHost  Storage node host and port (e.g.: some.com:8081) to get data
                                                       from.

  -p, --syncWorkersNumber=syncWorkersNumber            Sync workers number (max async operations in progress).

  -q, --queryNodeHost=queryNodeHost                    Query node host and port (e.g.: some.com:8081)

  -w, --workerId=workerId                              (required) Storage node operator worker ID.

See code: src/commands/dev/sync.ts

storage-node dev:upload

Upload data object (development mode only).

USAGE
  $ storage-node dev:upload

OPTIONS
  -c, --cid=cid            (required) Data object IPFS content ID.
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -s, --size=size          (required) Data object size.
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/dev/upload.ts

storage-node dev:verify-bag-id

The command verifies bag id supported by the storage node. Requires chain connection.

USAGE
  $ storage-node dev:verify-bag-id

OPTIONS
  -h, --help
      show CLI help

  -i, --bagId=bagId
      (required) 
             Bag ID. Format: {bag_type}:{sub_type}:{id}.
             - Bag types: 'static', 'dynamic'
             - Sub types: 'static:council', 'static:wg', 'dynamic:member', 'dynamic:channel'
             - Id: 
               - absent for 'static:council'
               - working group name for 'static:wg'
               - integer for 'dynamic:member' and 'dynamic:channel'
             Examples:
             - static:council
             - static:wg:storage
             - dynamic:member:4

  -k, --keyfile=keyfile
      Key file for the account. Mandatory in non-dev environment.

  -m, --dev
      Use development mode

  -p, --password=password
      Key file password (optional).

  -u, --apiUrl=apiUrl
      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/dev/verify-bag-id.ts

storage-node help [COMMAND]

display help for storage-node

USAGE
  $ storage-node help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

storage-node leader:cancel-invite

Cancel a storage bucket operator invite. Requires storage working group leader permissions.

USAGE
  $ storage-node leader:cancel-invite

OPTIONS
  -h, --help               show CLI help
  -i, --bucketId=bucketId  (required) Storage bucket ID
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/cancel-invite.ts

storage-node leader:create-bucket

Create new storage bucket. Requires storage working group leader permissions.

USAGE
  $ storage-node leader:create-bucket

OPTIONS
  -a, --allow              Accepts new bags
  -h, --help               show CLI help
  -i, --invited=invited    Invited storage operator ID (storage WG worker ID)
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -n, --number=number      Storage bucket max total objects number
  -p, --password=password  Key file password (optional).
  -s, --size=size          Storage bucket max total objects size
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/create-bucket.ts

storage-node leader:delete-bucket

Delete a storage bucket. Requires storage working group leader permissions.

USAGE
  $ storage-node leader:delete-bucket

OPTIONS
  -h, --help               show CLI help
  -i, --bucketId=bucketId  (required) Storage bucket ID
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/delete-bucket.ts

storage-node leader:invite-operator

Invite a storage bucket operator. Requires storage working group leader permissions.

USAGE
  $ storage-node leader:invite-operator

OPTIONS
  -h, --help                   show CLI help
  -i, --bucketId=bucketId      (required) Storage bucket ID
  -k, --keyfile=keyfile        Key file for the account. Mandatory in non-dev environment.
  -m, --dev                    Use development mode
  -p, --password=password      Key file password (optional).
  -u, --apiUrl=apiUrl          Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944
  -w, --operatorId=operatorId  (required) Storage bucket operator ID (storage group worker ID)

See code: src/commands/leader/invite-operator.ts

storage-node leader:remove-operator

Remove a storage bucket operator. Requires storage working group leader permissions.

USAGE
  $ storage-node leader:remove-operator

OPTIONS
  -h, --help               show CLI help
  -i, --bucketId=bucketId  (required) Storage bucket ID
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/remove-operator.ts

storage-node leader:set-uploading-block

Set global uploading block. Requires storage working group leader permissions.

USAGE
  $ storage-node leader:set-uploading-block

OPTIONS
  -d, --disable            Disables global uploading block.
  -e, --enable             Enables global uploading block (default).
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/set-uploading-block.ts

storage-node leader:update-bag

Add/remove a storage bucket from a bag (adds by default).

USAGE
  $ storage-node leader:update-bag

OPTIONS
  -b, --bucket=bucket
      (required) Storage bucket ID

  -h, --help
      show CLI help

  -i, --bagId=bagId
      (required) 
             Bag ID. Format: {bag_type}:{sub_type}:{id}.
             - Bag types: 'static', 'dynamic'
             - Sub types: 'static:council', 'static:wg', 'dynamic:member', 'dynamic:channel'
             - Id: 
               - absent for 'static:council'
               - working group name for 'static:wg'
               - integer for 'dynamic:member' and 'dynamic:channel'
             Examples:
             - static:council
             - static:wg:storage
             - dynamic:member:4

  -k, --keyfile=keyfile
      Key file for the account. Mandatory in non-dev environment.

  -m, --dev
      Use development mode

  -p, --password=password
      Key file password (optional).

  -r, --remove
      Remove a bucket from the bag

  -u, --apiUrl=apiUrl
      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/update-bag.ts

storage-node leader:update-bag-limit

Update StorageBucketsPerBagLimit variable in the Joystream node storage.

USAGE
  $ storage-node leader:update-bag-limit

OPTIONS
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -l, --limit=limit        (required) New StorageBucketsPerBagLimit value
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/update-bag-limit.ts

storage-node leader:update-blacklist

Add/remove a content ID from the blacklist (adds by default).

USAGE
  $ storage-node leader:update-blacklist

OPTIONS
  -c, --cid=cid            (required) Content ID
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -r, --remove             Remove a content ID from the blaclist
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/update-blacklist.ts

storage-node leader:update-data-fee

Update data size fee. Requires storage working group leader permissions.

USAGE
  $ storage-node leader:update-data-fee

OPTIONS
  -f, --fee=fee            (required) New data size fee
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/update-data-fee.ts

storage-node leader:update-dynamic-bag-policy

Update number of storage buckets used in the dynamic bag creation policy.

USAGE
  $ storage-node leader:update-dynamic-bag-policy

OPTIONS
  -c, --channel            Channel dynamic bag type
  -e, --member             Member dynamic bag type (default)
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -n, --number=number      (required) New storage buckets number
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/update-dynamic-bag-policy.ts

storage-node leader:update-voucher-limits

Update VoucherMaxObjectsSizeLimit and VoucherMaxObjectsNumberLimit for the Joystream node storage.

USAGE
  $ storage-node leader:update-voucher-limits

OPTIONS
  -h, --help               show CLI help
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -o, --objects=objects    (required) New 'max voucher object number limit' value
  -p, --password=password  Key file password (optional).
  -s, --size=size          (required) New 'max voucher object size limit' value
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944

See code: src/commands/leader/update-voucher-limits.ts

storage-node operator:accept-invitation

Accept pending storage bucket invitation.

USAGE
  $ storage-node operator:accept-invitation

OPTIONS
  -h, --help               show CLI help
  -i, --bucketId=bucketId  (required) Storage bucket ID
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944
  -w, --workerId=workerId  (required) Storage operator worker ID

See code: src/commands/operator/accept-invitation.ts

storage-node operator:set-bucket-limits

Set VoucherObjectsSizeLimit and VoucherObjectsNumberLimit for the storage bucket.

USAGE
  $ storage-node operator:set-bucket-limits

OPTIONS
  -h, --help               show CLI help
  -i, --bucketId=bucketId  (required) Storage bucket ID
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -o, --objects=objects    (required) New 'voucher object number limit' value
  -p, --password=password  Key file password (optional).
  -s, --size=size          (required) New 'voucher object size limit' value
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944
  -w, --workerId=workerId  (required) Storage operator worker ID

See code: src/commands/operator/set-bucket-limits.ts

storage-node operator:set-metadata

Accept pending storage bucket invitation.

USAGE
  $ storage-node operator:set-metadata

OPTIONS
  -h, --help                   show CLI help
  -i, --bucketId=bucketId      (required) Storage bucket ID
  -k, --keyfile=keyfile        Key file for the account. Mandatory in non-dev environment.
  -m, --dev                    Use development mode
  -m, --metadata=metadata      Storage bucket operator metadata
  -p, --password=password      Key file password (optional).
  -u, --apiUrl=apiUrl          Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944
  -w, --operatorId=operatorId  (required) Storage bucket operator ID (storage group worker ID)

See code: src/commands/operator/set-metadata.ts

storage-node operator:update-bucket-status

Update storage bucket status (accepting new bags).

USAGE
  $ storage-node operator:update-bucket-status

OPTIONS
  -d, --disable            Disables accepting new bags.
  -e, --enable             Enables accepting new bags (default).
  -h, --help               show CLI help
  -i, --bucketId=bucketId  (required) Storage bucket ID
  -k, --keyfile=keyfile    Key file for the account. Mandatory in non-dev environment.
  -m, --dev                Use development mode
  -p, --password=password  Key file password (optional).
  -u, --apiUrl=apiUrl      Runtime API URL. Mandatory in non-dev environment. Default is ws://localhost:9944
  -w, --workerId=workerId  (required) Storage operator worker ID

See code: src/commands/operator/update-bucket-status.ts

storage-node server

Starts the storage node server.

USAGE
  $ storage-node server

OPTIONS
  -d, --uploads=uploads                      (required) Data uploading directory (absolute path).
  -h, --help                                 show CLI help
  -i, --syncInterval=syncInterval            [default: 1] Interval between syncronizations (in minutes)
  -k, --keyfile=keyfile                      Key file for the account. Mandatory in non-dev environment.
  -m, --dev                                  Use development mode
  -o, --port=port                            (required) Server port.
  -p, --password=password                    Key file password (optional).
  -q, --queryNodeHost=queryNodeHost          Query node host and port (e.g.: some.com:8081)
  -r, --syncWorkersNumber=syncWorkersNumber  [default: 20] Sync workers number (max async operations in progress).
  -s, --sync                                 Enable data synchronization.

  -u, --apiUrl=apiUrl                        Runtime API URL. Mandatory in non-dev environment. Default is
                                             ws://localhost:9944

  -w, --worker=worker                        (required) Storage provider worker ID

See code: src/commands/server.ts