Mokhtar Naamani 70bdbcdfe5 cli: README пре 3 година
..
bin b592b335b1 Initial progress: council:info, account:import, account:choose пре 4 година
examples c482350abb Nested Option encoding solution пре 3 година
src c31529befb No videos message пре 3 година
test d2db544723 Eslint - cover files outside /src for CLI (+ CI checks) пре 4 година
.eslintignore d39d5c9e9f Basic createClass and addClassSchema commands пре 4 година
.eslintrc.js d39d5c9e9f Basic createClass and addClassSchema commands пре 4 година
.gitignore 7f37b017e1 Rejected uploads handling пре 3 година
.prettierignore 7f37b017e1 Rejected uploads handling пре 3 година
README.md 70bdbcdfe5 cli: README пре 3 година
package.json 52d42b0757 cli: v0.5.1 - add missing dependency on protobuf package пре 3 година
tsconfig.json cef0c6d840 PR comment пре 3 година

README.md

@joystream/cli

Command Line Interface for Joystream community and governance activities

oclif Version Downloads/week License

Development

To run a command in developemnt environment (without installing the package):

  1. Navigate into the CLI root directory
  2. Execute any command like this:

        $ ./bin/run COMMAND
    

Alternatively:

  1. Navigate into the CLI root directory
  2. Execute yarn link (if that doesn't work, consider sudo yarn link)
  3. Execute command from any location like this:

        $ joystream-cli COMMAND
    

Usage

$ npm install -g @joystream/cli
$ joystream-cli COMMAND
running command...
$ joystream-cli (-v|--version|version)
@joystream/cli/0.5.1 linux-x64 node-v14.16.1
$ joystream-cli --help [COMMAND]
USAGE
  $ joystream-cli COMMAND
...

First steps

When using the CLI for the first time there are a few common steps you might want to take in order to configure the CLI:

  1. Set the correct node endpoint. You can do this by executing api:setUri or any command that requires an api connection. To verify the current endpoint you can execute api:getUri.
  2. In order to use the accounts/keys that you may already have access to within Pioneer, you need to dowload the backup json file(s) (https://testnet.joystream.org/#/accounts) and import them into the CLI by executing account:import /path/to/backup.json.
  3. By executing account:choose you can choose one of the imported accounts, that will then serve as context for the next commands (you can check currently selected account using account:info). If you just want to use the development Alice or Bob account, you can access them without importing by providing an additional flag: account:choose --showSpecial.
  4. The context should now be fully set up! Feel free to use the --help flag to investigate the available commands or take a look at the sections below.
  5. You may also find it useful to get the first part of the command (before the colon) autocompleted when you press [Tab] while typing the name in the console. Executing autocomplete command will provide the instructions on how to set this up (see documentation below).

Commands

joystream-cli account:choose

Choose default account to use in the CLI

USAGE
  $ joystream-cli account:choose

OPTIONS
  -S, --showSpecial      Whether to show special (DEV chain) accounts
  -a, --address=address  Select account by address (if available)

See code: src/commands/account/choose.ts

joystream-cli account:create NAME

Create new account

USAGE
  $ joystream-cli account:create NAME

ARGUMENTS
  NAME  Account name

See code: src/commands/account/create.ts

joystream-cli account:current

Display information about currently choosen default account

USAGE
  $ joystream-cli account:current

ALIASES
  $ joystream-cli account:info
  $ joystream-cli account:default

See code: src/commands/account/current.ts

joystream-cli account:export PATH

Export account(s) to given location

USAGE
  $ joystream-cli account:export PATH

ARGUMENTS
  PATH  Path where the exported files should be placed

OPTIONS
  -a, --all  If provided, exports all existing accounts into "exported_accounts" folder inside given path

See code: src/commands/account/export.ts

joystream-cli account:forget

Forget (remove) account from the list of available accounts

USAGE
  $ joystream-cli account:forget

See code: src/commands/account/forget.ts

joystream-cli account:import BACKUPFILEPATH

Import account using JSON backup file

USAGE
  $ joystream-cli account:import BACKUPFILEPATH

ARGUMENTS
  BACKUPFILEPATH  Path to account backup JSON file

See code: src/commands/account/import.ts

joystream-cli account:transferTokens RECIPIENT AMOUNT

Transfer tokens from currently choosen account

USAGE
  $ joystream-cli account:transferTokens RECIPIENT AMOUNT

ARGUMENTS
  RECIPIENT  Address of the transfer recipient
  AMOUNT     Amount of tokens to transfer

See code: src/commands/account/transferTokens.ts

joystream-cli api:getUri

Get current api WS provider uri

USAGE
  $ joystream-cli api:getUri

See code: src/commands/api/getUri.ts

joystream-cli api:inspect

Lists available node API modules/methods and/or their description(s), or calls one of the API methods (depending on provided arguments and flags)

USAGE
  $ joystream-cli api:inspect

OPTIONS
  -M, --module=module
      Specifies the api module, ie. "system", "staking" etc.
      If no "--method" flag is provided then all methods in that module will be listed along with the descriptions.

  -a, --callArgs=callArgs
      Specifies the arguments to use when calling a method. Multiple arguments can be separated with a comma, ie. 
      "-a=arg1,arg2".
      You can omit this flag even if the method requires some aguments.
      In that case you will be promted to provide value for each required argument.
      Ommiting this flag is recommended when input parameters are of more complex types (and it's hard to specify them as 
      just simple comma-separated strings)

  -e, --exec
      Provide this flag if you want to execute the actual call, instead of displaying the method description (which is 
      default)

  -m, --method=method
      Specifies the api method to call/describe.

  -t, --type=type
      Specifies the type/category of the inspected request (ie. "query", "consts" etc.).
      If no "--module" flag is provided then all available modules in that type will be listed.
      If this flag is not provided then all available types will be listed.

EXAMPLES
  $ api:inspect
  $ api:inspect -t=query
  $ api:inspect -t=query -M=members
  $ api:inspect -t=query -M=members -m=membershipById
  $ api:inspect -t=query -M=members -m=membershipById -e
  $ api:inspect -t=query -M=members -m=membershipById -e -a=1

See code: src/commands/api/inspect.ts

joystream-cli api:setUri [URI]

Set api WS provider uri

USAGE
  $ joystream-cli api:setUri [URI]

ARGUMENTS
  URI  Uri of the node api WS provider (if skipped, a prompt will be displayed)

See code: src/commands/api/setUri.ts

joystream-cli autocomplete [SHELL]

display autocomplete installation instructions

USAGE
  $ joystream-cli autocomplete [SHELL]

ARGUMENTS
  SHELL  shell type

OPTIONS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

EXAMPLES
  $ joystream-cli autocomplete
  $ joystream-cli autocomplete bash
  $ joystream-cli autocomplete zsh
  $ joystream-cli autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

joystream-cli content:addCuratorToGroup [GROUPID] [CURATORID]

Add Curator to existing Curator Group.

USAGE
  $ joystream-cli content:addCuratorToGroup [GROUPID] [CURATORID]

ARGUMENTS
  GROUPID    ID of the Curator Group
  CURATORID  ID of the curator

See code: src/commands/content/addCuratorToGroup.ts

joystream-cli content:channel CHANNELID

Show Channel details by id.

USAGE
  $ joystream-cli content:channel CHANNELID

ARGUMENTS
  CHANNELID  Name or ID of the Channel

See code: src/commands/content/channel.ts

joystream-cli content:channels

List existing content directory channels.

USAGE
  $ joystream-cli content:channels

See code: src/commands/content/channels.ts

joystream-cli content:createChannel

Create channel inside content directory.

USAGE
  $ joystream-cli content:createChannel

OPTIONS
  -i, --input=input           (required) Path to JSON file to use as input
  --context=(Member|Curator)  Actor context to execute the command in (Member/Curator)

See code: src/commands/content/createChannel.ts

joystream-cli content:createChannelCategory

Create channel category inside content directory.

USAGE
  $ joystream-cli content:createChannelCategory

OPTIONS
  -i, --input=input         (required) Path to JSON file to use as input
  --context=(Lead|Curator)  Actor context to execute the command in (Lead/Curator)

See code: src/commands/content/createChannelCategory.ts

joystream-cli content:createCuratorGroup

Create new Curator Group.

USAGE
  $ joystream-cli content:createCuratorGroup

ALIASES
  $ joystream-cli createCuratorGroup

See code: src/commands/content/createCuratorGroup.ts

joystream-cli content:createVideo

Create video under specific channel inside content directory.

USAGE
  $ joystream-cli content:createVideo

OPTIONS
  -c, --channelId=channelId  (required) ID of the Channel
  -i, --input=input          (required) Path to JSON file to use as input

See code: src/commands/content/createVideo.ts

joystream-cli content:createVideoCategory

Create video category inside content directory.

USAGE
  $ joystream-cli content:createVideoCategory

OPTIONS
  -i, --input=input         (required) Path to JSON file to use as input
  --context=(Lead|Curator)  Actor context to execute the command in (Lead/Curator)

See code: src/commands/content/createVideoCategory.ts

joystream-cli content:curatorGroup ID

Show Curator Group details by ID.

USAGE
  $ joystream-cli content:curatorGroup ID

ARGUMENTS
  ID  ID of the Curator Group

See code: src/commands/content/curatorGroup.ts

joystream-cli content:curatorGroups

List existing Curator Groups.

USAGE
  $ joystream-cli content:curatorGroups

See code: src/commands/content/curatorGroups.ts

joystream-cli content:deleteChannelCategory CHANNELCATEGORYID

Delete channel category.

USAGE
  $ joystream-cli content:deleteChannelCategory CHANNELCATEGORYID

ARGUMENTS
  CHANNELCATEGORYID  ID of the Channel Category

OPTIONS
  --context=(Lead|Curator)  Actor context to execute the command in (Lead/Curator)

See code: src/commands/content/deleteChannelCategory.ts

joystream-cli content:deleteVideoCategory VIDEOCATEGORYID

Delete video category.

USAGE
  $ joystream-cli content:deleteVideoCategory VIDEOCATEGORYID

ARGUMENTS
  VIDEOCATEGORYID  ID of the Video Category

OPTIONS
  --context=(Lead|Curator)  Actor context to execute the command in (Lead/Curator)

See code: src/commands/content/deleteVideoCategory.ts

joystream-cli content:removeCuratorFromGroup [GROUPID] [CURATORID]

Remove Curator from Curator Group.

USAGE
  $ joystream-cli content:removeCuratorFromGroup [GROUPID] [CURATORID]

ARGUMENTS
  GROUPID    ID of the Curator Group
  CURATORID  ID of the curator

See code: src/commands/content/removeCuratorFromGroup.ts

joystream-cli content:reuploadAssets

Allows reuploading assets that were not successfully uploaded during channel/video creation

USAGE
  $ joystream-cli content:reuploadAssets

OPTIONS
  -i, --input=input  (required) Path to JSON file containing array of assets to reupload (contentIds and paths)

See code: src/commands/content/reuploadAssets.ts

joystream-cli content:setCuratorGroupStatus [ID] [STATUS]

Set Curator Group status (Active/Inactive).

USAGE
  $ joystream-cli content:setCuratorGroupStatus [ID] [STATUS]

ARGUMENTS
  ID      ID of the Curator Group
  STATUS  New status of the group (1 - active, 0 - inactive)

See code: src/commands/content/setCuratorGroupStatus.ts

joystream-cli content:setFeaturedVideos FEATUREDVIDEOIDS

Set featured videos. Requires lead access.

USAGE
  $ joystream-cli content:setFeaturedVideos FEATUREDVIDEOIDS

ARGUMENTS
  FEATUREDVIDEOIDS  Comma-separated video IDs (ie. 1,2,3)

See code: src/commands/content/setFeaturedVideos.ts

joystream-cli content:updateChannel CHANNELID

Update existing content directory channel.

USAGE
  $ joystream-cli content:updateChannel CHANNELID

ARGUMENTS
  CHANNELID  ID of the Channel

OPTIONS
  -i, --input=input  (required) Path to JSON file to use as input

See code: src/commands/content/updateChannel.ts

joystream-cli content:updateChannelCategory CHANNELCATEGORYID

Update channel category inside content directory.

USAGE
  $ joystream-cli content:updateChannelCategory CHANNELCATEGORYID

ARGUMENTS
  CHANNELCATEGORYID  ID of the Channel Category

OPTIONS
  -i, --input=input         (required) Path to JSON file to use as input
  --context=(Lead|Curator)  Actor context to execute the command in (Lead/Curator)

See code: src/commands/content/updateChannelCategory.ts

joystream-cli content:updateChannelCensorshipStatus ID [STATUS]

Update Channel censorship status (Censored / Not censored).

USAGE
  $ joystream-cli content:updateChannelCensorshipStatus ID [STATUS]

ARGUMENTS
  ID      ID of the Channel
  STATUS  New censorship status of the channel (1 - censored, 0 - not censored)

OPTIONS
  --rationale=rationale  rationale

See code: src/commands/content/updateChannelCensorshipStatus.ts

joystream-cli content:updateVideo VIDEOID

Update video under specific id.

USAGE
  $ joystream-cli content:updateVideo VIDEOID

ARGUMENTS
  VIDEOID  ID of the Video

OPTIONS
  -i, --input=input  (required) Path to JSON file to use as input

See code: src/commands/content/updateVideo.ts

joystream-cli content:updateVideoCategory VIDEOCATEGORYID

Update video category inside content directory.

USAGE
  $ joystream-cli content:updateVideoCategory VIDEOCATEGORYID

ARGUMENTS
  VIDEOCATEGORYID  ID of the Video Category

OPTIONS
  -i, --input=input         (required) Path to JSON file to use as input
  --context=(Lead|Curator)  Actor context to execute the command in (Lead/Curator)

See code: src/commands/content/updateVideoCategory.ts

joystream-cli content:updateVideoCensorshipStatus ID [STATUS]

Update Video censorship status (Censored / Not censored).

USAGE
  $ joystream-cli content:updateVideoCensorshipStatus ID [STATUS]

ARGUMENTS
  ID      ID of the Video
  STATUS  New video censorship status (1 - censored, 0 - not censored)

OPTIONS
  --rationale=rationale  rationale

See code: src/commands/content/updateVideoCensorshipStatus.ts

joystream-cli content:video VIDEOID

Show Video details by id.

USAGE
  $ joystream-cli content:video VIDEOID

ARGUMENTS
  VIDEOID  ID of the Video

See code: src/commands/content/video.ts

joystream-cli content:videos [CHANNELID]

List existing content directory videos.

USAGE
  $ joystream-cli content:videos [CHANNELID]

ARGUMENTS
  CHANNELID  ID of the Channel

See code: src/commands/content/videos.ts

joystream-cli council:info

Get current council and council elections information

USAGE
  $ joystream-cli council:info

See code: src/commands/council/info.ts

joystream-cli help [COMMAND]

display help for joystream-cli

USAGE
  $ joystream-cli help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

joystream-cli working-groups:application WGAPPLICATIONID

Shows an overview of given application by Working Group Application ID

USAGE
  $ joystream-cli working-groups:application WGAPPLICATIONID

ARGUMENTS
  WGAPPLICATIONID  Working Group Application ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/application.ts

joystream-cli working-groups:createOpening

Create working group opening (requires lead access)

USAGE
  $ joystream-cli working-groups:createOpening

OPTIONS
  -e, --edit                                          If provided along with --input - launches in edit mode allowing to
                                                      modify the input before sending the exstinsic

  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

  -i, --input=input                                   Path to JSON file to use as input (if not specified - the input
                                                      can be provided interactively)

  -o, --output=output                                 Path to the file where the output JSON should be saved (this
                                                      output can be then reused as input)

  --dryRun                                            If provided along with --output - skips sending the actual
                                                      extrinsic(can be used to generate a "draft" which can be provided
                                                      as input later)

See code: src/commands/working-groups/createOpening.ts

joystream-cli working-groups:decreaseWorkerStake WORKERID

Decreases given worker stake by an amount that will be returned to the worker role account. Requires lead access.

USAGE
  $ joystream-cli working-groups:decreaseWorkerStake WORKERID

ARGUMENTS
  WORKERID  Worker ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/decreaseWorkerStake.ts

joystream-cli working-groups:evictWorker WORKERID

Evicts given worker. Requires lead access.

USAGE
  $ joystream-cli working-groups:evictWorker WORKERID

ARGUMENTS
  WORKERID  Worker ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/evictWorker.ts

joystream-cli working-groups:fillOpening WGOPENINGID

Allows filling working group opening that's currently in review. Requires lead access.

USAGE
  $ joystream-cli working-groups:fillOpening WGOPENINGID

ARGUMENTS
  WGOPENINGID  Working Group Opening ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/fillOpening.ts

joystream-cli working-groups:increaseStake

Increases current role (lead/worker) stake. Requires active role account to be selected.

USAGE
  $ joystream-cli working-groups:increaseStake

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/increaseStake.ts

joystream-cli working-groups:leaveRole

Leave the worker or lead role associated with currently selected account.

USAGE
  $ joystream-cli working-groups:leaveRole

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/leaveRole.ts

joystream-cli working-groups:opening WGOPENINGID

Shows an overview of given working group opening by Working Group Opening ID

USAGE
  $ joystream-cli working-groups:opening WGOPENINGID

ARGUMENTS
  WGOPENINGID  Working Group Opening ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/opening.ts

joystream-cli working-groups:openings

Shows an overview of given working group openings

USAGE
  $ joystream-cli working-groups:openings

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/openings.ts

joystream-cli working-groups:overview

Shows an overview of given working group (current lead and workers)

USAGE
  $ joystream-cli working-groups:overview

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/overview.ts

joystream-cli working-groups:setDefaultGroup

Change the default group context for working-groups commands.

USAGE
  $ joystream-cli working-groups:setDefaultGroup

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/setDefaultGroup.ts

joystream-cli working-groups:slashWorker WORKERID

Slashes given worker stake. Requires lead access.

USAGE
  $ joystream-cli working-groups:slashWorker WORKERID

ARGUMENTS
  WORKERID  Worker ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/slashWorker.ts

joystream-cli working-groups:startAcceptingApplications WGOPENINGID

Changes the status of pending opening to "Accepting applications". Requires lead access.

USAGE
  $ joystream-cli working-groups:startAcceptingApplications WGOPENINGID

ARGUMENTS
  WGOPENINGID  Working Group Opening ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/startAcceptingApplications.ts

joystream-cli working-groups:startReviewPeriod WGOPENINGID

Changes the status of active opening to "In review". Requires lead access.

USAGE
  $ joystream-cli working-groups:startReviewPeriod WGOPENINGID

ARGUMENTS
  WGOPENINGID  Working Group Opening ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/startReviewPeriod.ts

joystream-cli working-groups:terminateApplication WGAPPLICATIONID

Terminates given working group application. Requires lead access.

USAGE
  $ joystream-cli working-groups:terminateApplication WGAPPLICATIONID

ARGUMENTS
  WGAPPLICATIONID  Working Group Application ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/terminateApplication.ts

joystream-cli working-groups:updateRewardAccount [ACCOUNTADDRESS]

Updates the worker/lead reward account (requires current role account to be selected)

USAGE
  $ joystream-cli working-groups:updateRewardAccount [ACCOUNTADDRESS]

ARGUMENTS
  ACCOUNTADDRESS  New reward account address (if omitted, one of the existing CLI accounts can be selected)

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/updateRewardAccount.ts

joystream-cli working-groups:updateRoleAccount [ACCOUNTADDRESS]

Updates the worker/lead role account. Requires member controller account to be selected

USAGE
  $ joystream-cli working-groups:updateRoleAccount [ACCOUNTADDRESS]

ARGUMENTS
  ACCOUNTADDRESS  New role account address (if omitted, one of the existing CLI accounts can be selected)

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/updateRoleAccount.ts

joystream-cli working-groups:updateRoleStorage STORAGE

Updates the associated worker storage

USAGE
  $ joystream-cli working-groups:updateRoleStorage STORAGE

ARGUMENTS
  STORAGE  Worker storage

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/updateRoleStorage.ts

joystream-cli working-groups:updateWorkerReward WORKERID

Change given worker's reward (amount only). Requires lead access.

USAGE
  $ joystream-cli working-groups:updateWorkerReward WORKERID

ARGUMENTS
  WORKERID  Worker ID

OPTIONS
  -g, --group=(storageProviders|curators|operations)  The working group context in which the command should be executed
                                                      Available values are: storageProviders, curators, operations.

See code: src/commands/working-groups/updateWorkerReward.ts

Environment variables

  • FORCE_COLOR - can be set to 0 to disable output coloring
  • AUTO_CONFIRM - can be set to 1 or true to skip any required confirmations (can be useful for creating bash scripts)