You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Define a self-contained project which new developers can tackle as part of the screening process for Jsgenesis development team.
Start building a product that can offload some of the scope in Pioneer.
Generate an initial set of query requirements that the future query node will need to support.
Background
Pioneer is a web application that interacts with the Joystream blockchain.
It is the main application for doing things as
Reading/writing on the forums.
Entering/staking for various roles, such as a council member.
Participating in governance, both in elections and proposal voting.
Uploading and viewing content.
Making token transfers.
Sending general extrinsics.
In general, all of these activities can be separated into three categories
General Polkadot activities: view blocks arriving, make transfers, etc.
Joystream community activities: participating in community & governance of Joystream platform
Joystream content activities: browsing, viewing and uploading new content.
This project is primarily targeted at addressing point nr. two.
Goal
Make initial progress on a CLI which allows us to offload community and governance-related activities currently conducted in Pioneer. In the future, we may want to factor out use case specific CLIs, however, at present we will just start with one product.
We can figure out the right order as we go along, but it would be most useful to start by focusing on core governance activities, like voting in elections, becoming a council member, voting on proposals, etc.
Must use some mature CLI framework, don't start from scratch! @siman may offer some advice here.
Must talk directly to a trusted Joystream full node instance. This node exposes a standard Substrate JSON-RPC interface which is used for
issuing transactions
reading blockchain state
subscribing to events
User keys, which are used for transaction signing, are generated, managed and stored client side.
A proper well-documented command interface built into the tool.
In the near future we plan to have a GraphQL query node which the CLI can talk to, but it is not currently ready. This node will allow a client to make queries at an abstraction level much higher than the low-level key-value reads that is native to Substrate. In order to make the transition to using such a tool smooth, and also to generate some requirements about what specific requirements we may need, the code should be written as if such a query layer exists. Then we can just swap out the implementation later. More information is available on the work on this query node here
The text was updated successfully, but these errors were encountered:
Sideproject: Joystream CLI
Status
Available
Purpose
Define a self-contained project which new developers can tackle as part of the screening process for Jsgenesis development team.
Start building a product that can offload some of the scope in Pioneer.
Generate an initial set of query requirements that the future query node will need to support.
Background
Pioneer is a web application that interacts with the Joystream blockchain.
It is the main application for doing things as
In general, all of these activities can be separated into three categories
This project is primarily targeted at addressing point nr. two.
Goal
Make initial progress on a CLI which allows us to offload community and governance-related activities currently conducted in Pioneer. In the future, we may want to factor out use case specific CLIs, however, at present we will just start with one product.
We can figure out the right order as we go along, but it would be most useful to start by focusing on core governance activities, like voting in elections, becoming a council member, voting on proposals, etc.
Requirements
Must use Typescript.
Must use some mature CLI framework, don't start from scratch! @siman may offer some advice here.
Must talk directly to a trusted Joystream full node instance. This node exposes a standard Substrate JSON-RPC interface which is used for
issuing transactions
reading blockchain state
subscribing to events
User keys, which are used for transaction signing, are generated, managed and stored client side.
A proper well-documented command interface built into the tool.
In the near future we plan to have a GraphQL query node which the CLI can talk to, but it is not currently ready. This node will allow a client to make queries at an abstraction level much higher than the low-level key-value reads that is native to Substrate. In order to make the transition to using such a tool smooth, and also to generate some requirements about what specific requirements we may need, the code should be written as if such a query layer exists. Then we can just swap out the implementation later. More information is available on the work on this query node here
The text was updated successfully, but these errors were encountered: