@joystream/cli
v1.5.1
Published
Command Line Interface for Joystream community and governance activities
Downloads
272
Readme
@joystream/cli
Command Line Interface for Joystream community and governance activities
Usage
$ npm install -g @joystream/cli
$ joystream-cli COMMAND
running command...
$ joystream-cli (-v|--version|version)
@joystream/cli/1.5.1 darwin-arm64 node-v18.6.0
$ joystream-cli --help [COMMAND]
USAGE
$ joystream-cli COMMAND
...
Development
To run a command in developemnt environment (from the root of Joystream monorepo, without installing the package):
$ yarn && yarn workspace @joystream/types build && yarn workspace @joystream/metadata-protobuf build
$ ./cli/bin/run COMMAND # OR:
$ yarn joystream-cli COMMAND
Alternatively:
$ yarn workspace @joystream/cli link
$ 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:
- Set the correct Joystream node websocket endpoint. You can do this by executing
api:setUri
and choosing one of the suggested endpoints of providing your own url. To verify the currently used Joystream node websocket endpoint you can executeapi:getUri
. - Set the Joystream query node endpoint. This is optional, but some commands (for example:
content:createChannel
) will require a connection to the query node in order to fetch the data they need complete the requested operations (ie.content:createChannel
will need to fetch the available storage node endnpoints in order to upload the channel assets). In order to do that, executeapi:setQueryNodeEndpoint
and choose one of the suggested endpoints or provide your own url. You can useapi:getQueryNodeEndpoint
any time to verify the currently set endpoint. - In order to use your existing keys within the CLI, you can import them using
account:import
command. You can provide json backup files exported from Pioneer or Polkadot{.js} extension as an input. You can also use raw mnemonic or seed phrases. See theaccount:import
command documentation for the full list of supported inputs. The key to sign the transaction(s) with will be determined based on the required permissions, depending on the command you execute. For example, if you executeworking-groups:updateRewardAccount --group storageProviders
, the CLI will look for a storage provider role key among your available keys. If multiple execution contexts are available, the CLI will prompt you to choose the desired one. - Optionally: 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 command name in the console. Executingautocomplete
command will provide you the instructions on how to set this up. - That's it! The CLI is now be fully set up! Feel free to use the
--help
flag to investigate the available commands or take a look at the commands documentation below.
Useful environment settings
FORCE_COLOR=0
- disables output coloring. This will make the output easier to parse in case it's redirected to a file or used within a script.AUTO_CONFIRM=true
- this will make the CLI skip asking for any confirmations (can be useful when creating bash scripts).
Commands
joystream-cli account:create
joystream-cli account:export DESTPATH
joystream-cli account:forget
joystream-cli account:import
joystream-cli account:info [ADDRESS]
joystream-cli account:list
joystream-cli account:transferTokens
joystream-cli advanced-transactions:constructSetCodeCall
joystream-cli advanced-transactions:constructTxCall
joystream-cli advanced-transactions:constructUnsignedTx
joystream-cli advanced-transactions:constructUnsignedTxApproveMs
joystream-cli advanced-transactions:constructUnsignedTxFinalApproveMs
joystream-cli advanced-transactions:constructUnsignedTxInitiateMs
joystream-cli advanced-transactions:constructWrappedTxCall
joystream-cli api:getQueryNodeEndpoint
joystream-cli api:getUri
joystream-cli api:inspect
joystream-cli api:setQueryNodeEndpoint [ENDPOINT]
joystream-cli api:setUri [URI]
joystream-cli apps:createApp
joystream-cli apps:updateApp
joystream-cli autocomplete [SHELL]
joystream-cli content:addCuratorToGroup [GROUPID] [CURATORID]
joystream-cli content:channel CHANNELID
joystream-cli content:channelPayoutProof CHANNELID
joystream-cli content:channelPayoutProofAtByteOffset BYTEOFFSET
joystream-cli content:channelPayoutsPayloadHeader
joystream-cli content:channels
joystream-cli content:claimChannelReward CHANNELID
joystream-cli content:createChannel
joystream-cli content:createCuratorGroup
joystream-cli content:createVideo
joystream-cli content:createVideoCategory NAME [DESCRIPTION] [PARENTCATEGORYID]
joystream-cli content:curatorGroup ID
joystream-cli content:curatorGroups
joystream-cli content:deleteChannel
joystream-cli content:deleteChannelAssetsAsModerator
joystream-cli content:deleteVideo
joystream-cli content:deleteVideoAssetsAsModerator
joystream-cli content:directChannelPayment
joystream-cli content:generateChannelPayoutsCommitment
joystream-cli content:generateChannelPayoutsPayload
joystream-cli content:getPayoutsOnchainCommitment
joystream-cli content:removeChannelAssets
joystream-cli content:removeCuratorFromGroup [GROUPID] [CURATORID]
joystream-cli content:reuploadAssets
joystream-cli content:setChannelVisibilityAsModerator
joystream-cli content:setCuratorGroupStatus [ID] [STATUS]
joystream-cli content:setVideoVisibilityAsModerator
joystream-cli content:updateChannel CHANNELID
joystream-cli content:updateChannelPayoutsProposal
joystream-cli content:updateChannelStateBloatBond VALUE
joystream-cli content:updateCuratorGroupPermissions [ID]
joystream-cli content:updateVideo VIDEOID
joystream-cli content:updateVideoStateBloatBond VALUE
joystream-cli content:video VIDEOID
joystream-cli content:videos [CHANNELID]
joystream-cli council:fundBudget
joystream-cli fee-profile:addForumPost
joystream-cli fee-profile:addVideoComment
joystream-cli fee-profile:buyMembership
joystream-cli fee-profile:createChannel
joystream-cli fee-profile:createForumThread
joystream-cli fee-profile:createVideo
joystream-cli fee-profile:deleteChannel
joystream-cli fee-profile:deleteForumPost
joystream-cli fee-profile:deleteForumThread
joystream-cli fee-profile:deleteVideo
joystream-cli forum:addPost
joystream-cli forum:categories
joystream-cli forum:category
joystream-cli forum:createCategory
joystream-cli forum:createThread
joystream-cli forum:deleteCategory
joystream-cli forum:moderatePost
joystream-cli forum:moderateThread
joystream-cli forum:moveThread
joystream-cli forum:posts
joystream-cli forum:setStickiedThreads
joystream-cli forum:threads
joystream-cli forum:updateCategoryArchivalStatus
joystream-cli forum:updateCategoryModeratorStatus
joystream-cli help [COMMAND]
joystream-cli membership:addStakingAccount
joystream-cli membership:buy
joystream-cli membership:details
joystream-cli membership:memberRemark MESSAGE
joystream-cli membership:update
joystream-cli membership:updateAccounts
joystream-cli sign-offline:signUnsignedTx
joystream-cli staking:validate
joystream-cli util:decodeMessage
joystream-cli util:encodeMessage
joystream-cli util:messageStructure
joystream-cli working-groups:application WGAPPLICATIONID
joystream-cli working-groups:apply
joystream-cli working-groups:cancelOpening OPENINGID
joystream-cli working-groups:createOpening
joystream-cli working-groups:decreaseWorkerStake WORKERID AMOUNT
joystream-cli working-groups:evictWorker WORKERID
joystream-cli working-groups:fillOpening
joystream-cli working-groups:increaseStake AMOUNT
joystream-cli working-groups:leaveRole
joystream-cli working-groups:opening
joystream-cli working-groups:openings
joystream-cli working-groups:overview
joystream-cli working-groups:removeUpcomingOpening
joystream-cli working-groups:setDefaultGroup
joystream-cli working-groups:slashWorker WORKERID AMOUNT
joystream-cli working-groups:updateGroupMetadata
joystream-cli working-groups:updateRewardAccount [ADDRESS]
joystream-cli working-groups:updateRoleAccount [ADDRESS]
joystream-cli working-groups:updateWorkerReward WORKERID NEWREWARD
joystream-cli working-groups:verifyValidator MEMBERID
joystream-cli account:create
Create a new account
USAGE
$ joystream-cli account:create
OPTIONS
--name=name Account name
--type=(sr25519|ed25519) Account type (defaults to sr25519)
See code: src/commands/account/create.ts
joystream-cli account:export DESTPATH
Export account(s) to given location
USAGE
$ joystream-cli account:export DESTPATH
ARGUMENTS
DESTPATH Path where the exported files should be placed
OPTIONS
-a, --all If provided, exports all existing accounts into "exported_accounts" folder inside given path
-n, --name=name Name of the account to export
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
OPTIONS
--address=address Address of the account to remove
--name=name Name of the account to remove
See code: src/commands/account/forget.ts
joystream-cli account:import
Import account using mnemonic phrase, seed, suri or json backup file
USAGE
$ joystream-cli account:import
OPTIONS
--backupFilePath=backupFilePath Path to account backup JSON file
--mnemonic=mnemonic Mnemonic phrase
--name=name Account name
--password=password Account password
--seed=seed Secret seed
--suri=suri Substrate uri
--type=(sr25519|ed25519) Account type (defaults to sr25519)
See code: src/commands/account/import.ts
joystream-cli account:info [ADDRESS]
Display detailed information about specified account
USAGE
$ joystream-cli account:info [ADDRESS]
ARGUMENTS
ADDRESS An address to inspect (can also be provided interavtively)
ALIASES
$ joystream-cli account:inspect
See code: src/commands/account/info.ts
joystream-cli account:list
List all available accounts
USAGE
$ joystream-cli account:list
See code: src/commands/account/list.ts
joystream-cli account:transferTokens
Transfer tokens from any of the available accounts
USAGE
$ joystream-cli account:transferTokens
OPTIONS
--amount=amount (required) Amount of tokens to transfer
--from=from Address of the sender (can also be provided interactively)
--to=to Address of the recipient (can also be provided interactively)
See code: src/commands/account/transferTokens.ts
joystream-cli advanced-transactions:constructSetCodeCall
Construct a "system.setCode" call.
USAGE
$ joystream-cli advanced-transactions:constructSetCodeCall
OPTIONS
-o, --output=output (required) Path to the file where the call should be saved
--address=address (required) The address that is performing the final call.
--codeOutput=codeOutput Path to where the parsed wasm code shold be saved.
--lifetime=lifetime [default: 64] Lifetime of the transaction, from creation to included on chain, in
blocks before it becomes invalid.
--nonceIncrement=nonceIncrement [default: 0] If you are preparing multiple transactions from the samme account,
before broadcasting them, you need to increase the nonce by 1 for each. This value
will be added to the nonce read from the chain.
--tip=tip [default: 0] Optional "tip" (in base value) for faster block inclusion.
--wasmPath=wasmPath (required) The address that is performing the final call.
See code: src/commands/advanced-transactions/constructSetCodeCall.ts
joystream-cli advanced-transactions:constructTxCall
Construct a call that as argument for a transaction, or to wrap in another call.
USAGE
$ joystream-cli advanced-transactions:constructTxCall
OPTIONS
-o, --output=output (required) Path to the file where the output JSON should be saved.
--address=address (required) The address that is performing the (final) transaction.
--lifetime=lifetime [default: 64] Lifetime of the transaction, from creation to included on chain, in
blocks before it becomes invalid.
--method=method (required) The method of the extrinsic
--module=module (required) The module (a.k.a. section) of the extrinsic
--nonceIncrement=nonceIncrement [default: 0] If you are preparing multiple transactions from the samme account,
before broadcasting them, you need to increase the nonce by 1 for each. This value
will be added to the nonce read from the chain.
--tip=tip [default: 0] Optional "tip" (in base value) for faster block inclusion.
See code: src/commands/advanced-transactions/constructTxCall.ts
joystream-cli advanced-transactions:constructUnsignedTx
Create a simple unsigned transaction, for signing offline.
USAGE
$ joystream-cli advanced-transactions:constructUnsignedTx
OPTIONS
-o, --output=output (required) Path to the file where the output JSON should be saved.
--address=address (required) The address that is performing the transaction.
--lifetime=lifetime Lifetime of the transaction, from constructed to included in a block, in blocks
before it becomes invalid. Must be a power of two between 4 and 65536
--method=method (required) The method of the extrinsic
--module=module (required) The module of the extrinsic
--nonceIncrement=nonceIncrement [default: 0] If you are preparing multiple transactions from the samme account,
before broadcasting them, you need to increase the nonce by 1 for each. This value
will be added to the nonce read from the chain.
--tip=tip [default: 0] Optional "tip" (in base value) for faster block inclusion.
See code: src/commands/advanced-transactions/constructUnsignedTx.ts
joystream-cli advanced-transactions:constructUnsignedTxApproveMs
Approve a transaction from a multisig account, as initiated by another signer.
USAGE
$ joystream-cli advanced-transactions:constructUnsignedTxApproveMs
OPTIONS
-i, --input=input Path to JSON file to use as input (if not specified - the input can be provided
interactively)
-o, --output=output (required) Path to the file where the output JSON should be saved.
--addressMs=addressMs The address of the multisig that is performing the transaction.
--addressSigner=addressSigner (required) The address of the signer that is approving the multisig transaction.
--inputCall=inputCall The hex-encoded call that is to be executed by the multisig if successfull.
--inputCallFile=inputCallFile Path to a JSON file with the hex-encoded call that is to be executed by the
multisig if successfull.
--lifetime=lifetime Lifetime of the transaction, from constructed to included in a block, in blocks
before it becomes invalid. Must be a power of two between 4 and 65536
--nonceIncrement=nonceIncrement [default: 0] If you are preparing multiple transactions from the samme account,
before broadcasting them, you need to increase the nonce by 1 for each. This value
will be added to the nonce read from the chain.
--others=others Comma separated list of the accounts (other than the addressSigner) who can approve
this call. Ignored if "input" is provided.
--threshold=threshold How many (m) of the n signatories (signer+others), are required to sign/approve the
transaction. Ignored if "input" is provided.
--timepointHeight=timepointHeight Reference to the blockheight of the transaction that initiated the multisig
transaction. Ignored if "input" is provided.
--timepointIndex=timepointIndex Reference to the extrinsic index in the "timepointHeight block. Ignored if "input"
is provided.
--tip=tip [default: 0] Optional "tip" (in base value) for faster block inclusion.
See code: src/commands/advanced-transactions/constructUnsignedTxApproveMs.ts
joystream-cli advanced-transactions:constructUnsignedTxFinalApproveMs
Final approval of a transaction from a multisig account, as initiated by another signer.
USAGE
$ joystream-cli advanced-transactions:constructUnsignedTxFinalApproveMs
OPTIONS
-i, --input=input Path to JSON file to use as input (if not specified - the input can be provided
interactively)
-o, --output=output (required) Path to the file where the output JSON should be saved.
--addressMs=addressMs The address of the multisig that is performing the transaction.
--addressSigner=addressSigner (required) The address of the signer that is approving the multisig transaction.
--inputCall=inputCall The hex-encoded call that is to be executed by the multisig if successfull.
--inputCallFile=inputCallFile Path to a JSON file with the hex-encoded call that is to be executed by the
multisig if successfull.
--lifetime=lifetime Lifetime of the transaction, from constructed to included in a block, in blocks
before it becomes invalid. Must be a power of two between 4 and 65536
--nonceIncrement=nonceIncrement [default: 0] If you are preparing multiple transactions from the samme account,
before broadcasting them, you need to increase the nonce by 1 for each. This value
will be added to the nonce read from the chain.
--others=others Comma separated list of the accounts (other than the addressSigner) who can approve
this call. Ignored if "input" is provided.
--threshold=threshold How many (m) of the n signatories (signer+others), are required to sign/approve the
transaction. Ignored if "input" is provided.
--timepointHeight=timepointHeight Reference to the blockheight of the transaction that initiated the multisig
transaction. Ignored if "input" is provided.
--timepointIndex=timepointIndex Reference to the extrinsic index in the "timepointHeight block. Ignored if "input"
is provided.
--tip=tip [default: 0] Optional "tip" (in base value) for faster block inclusion.
See code: src/commands/advanced-transactions/constructUnsignedTxFinalApproveMs.ts
joystream-cli advanced-transactions:constructUnsignedTxInitiateMs
Initiate a call (transaction) from a multisig account, as the first signer.
USAGE
$ joystream-cli advanced-transactions:constructUnsignedTxInitiateMs
OPTIONS
-i, --input=input Path to JSON file to use as input (if not specified - the input can be provided
interactively)
-o, --output=output (required) Path to the file where the output JSON should be saved.
--addressMs=addressMs The address of the multisig that is performing the transaction.
--addressSigner=addressSigner (required) The address of the signer that is initiating the multisig transaction.
--inputCall=inputCall The hex-encoded call that is to be executed by the multisig if successfull.
--inputCallFile=inputCallFile Path to a JSON file with the hex-encoded call that is to be executed by the multisig
if successfull.
--lifetime=lifetime Lifetime of the transaction, from constructed to included in a block, in blocks
before it becomes invalid. Must be a power of two between 4 and 65536
--nonceIncrement=nonceIncrement [default: 0] If you are preparing multiple transactions from the samme account,
before broadcasting them, you need to increase the nonce by 1 for each. This value
will be added to the nonce read from the chain.
--others=others Comma separated list of the accounts (other than the addressSigner) who can approve
this call. Ignored if "input" is provided.
--threshold=threshold How many (m) of the n signatories (signer+others), are required to sign/approve the
transaction. Ignored if "input" is provided.
--tip=tip [default: 0] Optional "tip" (in base value) for faster block inclusion.
See code: src/commands/advanced-transactions/constructUnsignedTxInitiateMs.ts
joystream-cli advanced-transactions:constructWrappedTxCall
Construct a wrapped transaction call.
USAGE
$ joystream-cli advanced-transactions:constructWrappedTxCall
OPTIONS
-o, --output=output (required) Path to the file where the output JSON should be saved.
--address=address (required) The address that is performing the (final) transaction.
--fullOutput=fullOutput Path to the file where the full output should be saved
--inputCall=inputCall The hex-encoded call that is to be executed by the multisig if successfull.
--inputCallFile=inputCallFile Path to a JSON file with the hex-encoded call that is to be executed by the multisig
if successfull.
--lifetime=lifetime [default: 64] Lifetime of the transaction, from creation to included on chain, in
blocks before it becomes invalid.
--method=method (required) The method of the extrinsic
--module=module (required) The module (a.k.a. section) of the extrinsic
--nonceIncrement=nonceIncrement [default: 0] If you are preparing multiple transactions from the samme account,
before broadcasting them, you need to increase the nonce by 1 for each. This value
will be added to the nonce read from the chain.
--tip=tip [default: 0] Optional "tip" (in base value) for faster block inclusion.
See code: src/commands/advanced-transactions/constructWrappedTxCall.ts
joystream-cli api:getQueryNodeEndpoint
Get current query node endpoint
USAGE
$ joystream-cli api:getQueryNodeEndpoint
See code: src/commands/api/getQueryNodeEndpoint.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:setQueryNodeEndpoint [ENDPOINT]
Set query node endpoint
USAGE
$ joystream-cli api:setQueryNodeEndpoint [ENDPOINT]
ARGUMENTS
ENDPOINT Query node endpoint for the CLI to use
See code: src/commands/api/setQueryNodeEndpoint.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 apps:createApp
Creates app for current member
USAGE
$ joystream-cli apps:createApp
OPTIONS
-i, --input=input Path to JSON file containing app details
-s, --skip If true command won't prompt missing fields
--useMemberId=useMemberId Try using the specified member id as context whenever possible
See code: src/commands/apps/createApp.ts
joystream-cli apps:updateApp
Updates app of given ID
USAGE
$ joystream-cli apps:updateApp
OPTIONS
-i, --input=input Path to JSON file containing app details
-s, --skip If true command won't prompt missing fields
--appId=appId (required) ID of the app to update
--useMemberId=useMemberId Try using the specified member id as context whenever possible
See code: src/commands/apps/updateApp.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
OPTIONS
-p,
--permissions=UpdateChannelMetadata|ManageNonVideoChannelAssets|ManageChannelCollaborators|UpdateVideoMetadata|AddVide
o|ManageVideoAssets|DeleteChannel|DeleteVideo|ManageVideoNfts|AgentRemark|TransferChannel|ClaimChannelReward|WithdrawF
romChannelBalance|IssueCreatorToken|ClaimCreatorTokenPatronage|InitAndManageCreatorTokenSale|CreatorTokenIssuerTransfe
r|MakeCreatorTokenPermissionless|ReduceCreatorTokenPatronageRate|ManageRevenueSplits|DeissueCreatorToken|AmmControl
List of permissions to associate with the curator, e.g. -p ManageChannelCollaborators UpdateVideoMetadata
--useMemberId=useMemberId
Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId
Try using the specified worker id as context whenever possible
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
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/channel.ts
joystream-cli content:channelPayoutProof CHANNELID
Show payout information for a channel.
USAGE
$ joystream-cli content:channelPayoutProof CHANNELID
ARGUMENTS
CHANNELID ID of the Channel
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/channelPayoutProof.ts
joystream-cli content:channelPayoutProofAtByteOffset BYTEOFFSET
Get channel payout record from serialized payload at given byte.
USAGE
$ joystream-cli content:channelPayoutProofAtByteOffset BYTEOFFSET
ARGUMENTS
BYTEOFFSET Byte offset of payout record from start of payload
OPTIONS
--path=path Path to the serialized payload file
--url=url URL to the serialized payload file
See code: src/commands/content/channelPayoutProofAtByteOffset.ts
joystream-cli content:channelPayoutsPayloadHeader
Get header from serialized payload file.
USAGE
$ joystream-cli content:channelPayoutsPayloadHeader
OPTIONS
--path=path Path to the protobuf serialized payload file
--url=url URL to the protobuf serialized payload file
See code: src/commands/content/channelPayoutsPayloadHeader.ts
joystream-cli content:channels
List existing content directory channels.
USAGE
$ joystream-cli content:channels
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/channels.ts
joystream-cli content:claimChannelReward CHANNELID
Claim channel payout reward for a given channel id.
USAGE
$ joystream-cli content:claimChannelReward CHANNELID
ARGUMENTS
CHANNELID ID of the Channel
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/claimChannelReward.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|CuratorGroup) Actor context to execute the command in (Member/CuratorGroup)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/createChannel.ts
joystream-cli content:createCuratorGroup
Create new Curator Group.
USAGE
$ joystream-cli content:createCuratorGroup
OPTIONS
-p, --permissions=permissions Path to JSON file containing moderation permissions by channel privilege level to use
as input
--status=(ACTIVE|INACTIVE) (required) Status of newly created Curator Group: (ACTIVE/INACTIVE)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/createCuratorGroup.ts
joystream-cli content:createVideo
Create video (non nft) 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
--context=(Owner|Curator|Collaborator) Actor context to execute the command in (Owner/Curator/Collaborator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/createVideo.ts
joystream-cli content:createVideoCategory NAME [DESCRIPTION] [PARENTCATEGORYID]
Create video category inside content directory.
USAGE
$ joystream-cli content:createVideoCategory NAME [DESCRIPTION] [PARENTCATEGORYID]
ARGUMENTS
NAME Video category name
DESCRIPTION Video category description
PARENTCATEGORYID Parent category ID
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
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
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/curatorGroup.ts
joystream-cli content:curatorGroups
List existing Curator Groups.
USAGE
$ joystream-cli content:curatorGroups
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/curatorGroups.ts
joystream-cli content:deleteChannel
Delete the channel and optionally all associated data objects.
USAGE
$ joystream-cli content:deleteChannel
OPTIONS
-c, --channelId=channelId (required) ID of the Channel
-f, --force Force-remove all associated channel data objects
--context=(Owner|Curator|Collaborator) Actor context to execute the command in (Owner/Curator/Collaborator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/deleteChannel.ts
joystream-cli content:deleteChannelAssetsAsModerator
Delete the channel assets.
USAGE
$ joystream-cli content:deleteChannelAssetsAsModerator
OPTIONS
-a, --assetIds=assetIds (required) List of data object IDs to delete
-c, --channelId=channelId (required) ID of the Channel
-r, --rationale=rationale (required) Reason for removing the channel assets by moderator
--context=(Lead|Curator) Actor context to execute the command in (Lead/Curator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/deleteChannelAssetsAsModerator.ts
joystream-cli content:deleteVideo
Delete the video and optionally all associated data objects.
USAGE
$ joystream-cli content:deleteVideo
OPTIONS
-f, --force Force-remove all associated video data objects
-v, --videoId=videoId (required) ID of the Video
--context=(Owner|Curator|Collaborator) Actor context to execute the command in (Owner/Curator/Collaborator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/deleteVideo.ts
joystream-cli content:deleteVideoAssetsAsModerator
Delete the video assets.
USAGE
$ joystream-cli content:deleteVideoAssetsAsModerator
OPTIONS
-a, --assetIds=assetIds (required) List of data object IDs to delete
-r, --rationale=rationale (required) Reason for removing the video assets by moderator
-v, --videoId=videoId (required) ID of the Video
--context=(Lead|Curator) Actor context to execute the command in (Lead/Curator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/deleteVideoAssetsAsModerator.ts
joystream-cli content:directChannelPayment
Make direct payment to channel's reward account by any member .
USAGE
$ joystream-cli content:directChannelPayment
OPTIONS
-r, --rationale=rationale (required) Reason for the payment
-v, --videoId=videoId video ID for which payment is being made. If not provided, payment is supposed to be a
channel wide tip
--amount=amount (required) JOY amount to be paid
--channelId=channelId ID of the channel to be paid
--rewardAccount=rewardAccount Reward account of the channel to be paid
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/directChannelPayment.ts
joystream-cli content:generateChannelPayoutsCommitment
Generate merkle root (commitment) from channel payouts payload.
USAGE
$ joystream-cli content:generateChannelPayoutsCommitment
OPTIONS
--path=path Path to the serialized payload file
--url=url URL to the serialized payload file
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/generateChannelPayoutsCommitment.ts
joystream-cli content:generateChannelPayoutsPayload
Generate serialized channel payouts payload from JSON input.
USAGE
$ joystream-cli content:generateChannelPayoutsPayload
OPTIONS
-i, --input=input (required) Path to JSON file containing channel payouts vector
-o, --out=out (required) Path to output file where serialized channel payouts payload will be saved
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/generateChannelPayoutsPayload.ts
joystream-cli content:getPayoutsOnchainCommitment
Get on-chain commitment (merkle root) for channel payouts payload.
USAGE
$ joystream-cli content:getPayoutsOnchainCommitment
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/getPayoutsOnchainCommitment.ts
joystream-cli content:removeChannelAssets
Remove data objects associated with the channel or any of its videos.
USAGE
$ joystream-cli content:removeChannelAssets
OPTIONS
-c, --channelId=channelId (required) ID of the Channel
-o, --objectId=objectId (required) ID of an object to remove
--context=(Owner|Curator|Collaborator) Actor context to execute the command in (Owner/Curator/Collaborator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/removeChannelAssets.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
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
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)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/reuploadAssets.ts
joystream-cli content:setChannelVisibilityAsModerator
Set channel visibility as moderator.
USAGE
$ joystream-cli content:setChannelVisibilityAsModerator
OPTIONS
-c, --channelId=channelId (required) ID of the channel
-r, --rationale=rationale (required) Reason for changing visibility of channel
-s, --status=(VISIBLE|HIDDEN) (required) The visibility status of the channel
--context=(Lead|Curator) Actor context to execute the command in (Lead/Curator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/setChannelVisibilityAsModerator.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)
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/setCuratorGroupStatus.ts
joystream-cli content:setVideoVisibilityAsModerator
Set video visibility as moderator.
USAGE
$ joystream-cli content:setVideoVisibilityAsModerator
OPTIONS
-r, --rationale=rationale (required) Reason for changing visibility of video
-s, --status=(VISIBLE|HIDDEN) (required) The visibility status of the video
-v, --videoId=videoId (required) ID of the Video
--context=(Lead|Curator) Actor context to execute the command in (Lead/Curator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/setVideoVisibilityAsModerator.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
--context=(Owner|Curator|Collaborator) Actor context to execute the command in (Owner/Curator/Collaborator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/updateChannel.ts
joystream-cli content:updateChannelPayoutsProposal
Create channel payouts proposal.
USAGE
$ joystream-cli content:updateChannelPayoutsProposal
OPTIONS
-b, --exactExecutionBlock=exactExecutionBlock The Block at which the proposal should be automatically executed
-d, --description=description (required) Description of the proposal
-e, --channelCashoutsEnabled Whether cashouts be enabled/disabled
-p, --payloadFilePath=payloadFilePath Path to protobuf serialized file containing channel payouts payload
-s, --stakingAccountId=stakingAccountId (required) Proposer staking account Id
-t, --title=title (required) Title of the proposal
--max=max Maximum cashout amount allowed to a channel
--min=min Minimum cashout amount allowed to a channel
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/updateChannelPayoutsProposal.ts
joystream-cli content:updateChannelStateBloatBond VALUE
Update channel state bloat bond.
USAGE
$ joystream-cli content:updateChannelStateBloatBond VALUE
ARGUMENTS
VALUE New state bloat bond value
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/updateChannelStateBloatBond.ts
joystream-cli content:updateCuratorGroupPermissions [ID]
Update existing Curator Group.
USAGE
$ joystream-cli content:updateCuratorGroupPermissions [ID]
ARGUMENTS
ID ID of the Curator Group
OPTIONS
-p, --permissions=permissions (required) Path to JSON file containing moderation permissions by channel privilege
level to use as input
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/updateCuratorGroupPermissions.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
--context=(Owner|Curator|Collaborator) Actor context to execute the command in (Owner/Curator/Collaborator)
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/updateVideo.ts
joystream-cli content:updateVideoStateBloatBond VALUE
Update video state bloat bond.
USAGE
$ joystream-cli content:updateVideoStateBloatBond VALUE
ARGUMENTS
VALUE New state bloat bond value
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/updateVideoStateBloatBond.ts
joystream-cli content:video VIDEOID
Show Video details by id.
USAGE
$ joystream-cli content:video VIDEOID
ARGUMENTS
VIDEOID ID of the Video
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
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
OPTIONS
--useMemberId=useMemberId Try using the specified member id as context whenever possible
--useWorkerId=useWorkerId Try using the specified worker id as context whenever possible
See code: src/commands/content/videos.ts
joystream-cli council:fundBudget
Fund council budget by some member.
USAGE
$ joystream-cli council:fundBudget
OPTIONS
--amount=amount (required) Funding amount
--rationale=rationale (required) Reason of funding the budget
--useMemberId=useMemberId Try using the specified member id as context whenever possible
See code: src/commands/council/fundBudget.ts
joystream-cli fee-profile:addForumPost
Create fee profile of forum.add_post extrinsic.
USAGE
$ joystream-cli fee-profile:addForumPost
OPTIONS
-e, --editable If specified - `editable` parameter is set to true when estimating the costs
-j, --joyPrice=joyPrice [default: 6] Joy price in USD cents for estimating costs in USD
-p, --postLen=postLen [default: 200] Post length to use for estimating tx fee
See code: src/commands/fee-profile/addForumPost.ts
joystream-cli fee-profile:addVideoComment
Create fee profile of members.member_remark extrinsic (video comment case).
USAGE
$ joystream-cli fee-profile:addVideoComment
OPTIONS
-c, --commentLen=commentLen [default: 50] Comment length to use for estimating tx fee
-j, --joyPrice=joyPrice [default: 6] Joy price in USD cents for estimating costs in USD
See code: src/commands/fee-profile/addVideoComment.ts
joystream-cli fee-profile:buyMembership
Create fee profile of members.buy_membership extrinsic.
USAGE
$ joystream-cli fee-profile:buyMembership
OPTIONS
-E, --externalResourcesCount=externalResourcesCount [default: 1] Number of external resources (part of metadata) to
use for estimating tx fee
-a, --aboutLength=aboutLength [default: 0] Length of the member's about text (part of metadata)
to use for estimating tx fee
-e, --externalResourceLength=externalResourceLength [default: 25] Length of a single external resource url (part of
metadata) to use for estimating tx fee
-h, --handleLength=handleLength [default: 10] Length of the membership handle to use for
estimating tx fee
-j, --joyPrice=joyPrice [default: 6] Joy price in USD cents for estimating costs in USD
-n, --nameLength=nameLength [default: 10] Length of the member's name (part of metadata) to
use for estimating tx fee
-u, --avatarUriLength=avatarUriLength [default: 25] Length of the member's avatar uri (part of
metadata) to use for estimating tx fee
See code: src/commands/fee-profile/buyMembership.ts
joystream-cli fee-profile:createChannel
Create fee profile of content.create_channel extrinsic.
USAGE
$ joystream-cli fee-profile:createChannel
OPTIONS
-C, --collaboratorsNum=collaboratorsNum [default: 0] Number of channel collaborators to use for
estimating tx fee
-D, --distributionBucketsNum=distributionBucketsNum Number of distribution buckets to use for estimating tx fee.
By default this number will be based on the current chain's
dynamic bag policy for channel bags
-S, --storageBucketsNum=storageBucketsNum Number of storage buckets to use for estimating tx fee.
By default this number will be based on the current chain's
dynamic bag policy for channel bags
-a, --avatarSize=avatarSize [default: 1] Avatar size in MB to use when estimating the