Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Carthage bootstrapping plan #3903

Closed
bedeho opened this issue Jun 15, 2022 · 3 comments
Closed

Carthage bootstrapping plan #3903

bedeho opened this issue Jun 15, 2022 · 3 comments
Assignees

Comments

@bedeho
Copy link
Member

bedeho commented Jun 15, 2022

Background

We are launching Carthage which will be a new chain, with a genesis block and launch process as close as possible to the mainnet launch. This issue defines how we bootstrap initial state after the genesis block.

Proposal

The genesis block will initially only hold accounts, most of which will be subject to vesting schedules that prohibit doing transfers. During the bootstrapping period of the rollout, no user can issue extrinsics - they are automatically filtered out, however there will be a designated sudo account which can, and it will create the initial set of members and founding members. A new type of extrinsic is being introduced to enable the latter.

The set of actual members will be the same as is found on the Rhodes network, from the snapshot block. Members should be segmented into two groups, founding member and non-founding member, and they should be created in Carthage bootstrapping using extrinsics make_founding_member and buy_membership respectively. The distinction between the two can be obtained based on the CRM. The root and controller accounts for the former is reported by the user when selecting accounts, and if they are not responsive, we have to pick alternatives. For the latter we just use accounts used in Rhodes.

Importantly, we are not bootstrapping anything else, for example

  • proposals or proposal discussions
  • working group roles
  • forum categories, threads and posts
  • channels, videos, NFTs, comments or reactions
  • bounties

┆Issue is synchronized with this Asana task by Unito

@bedeho bedeho added carthage and removed carthage labels Jun 15, 2022
@bedeho bedeho changed the title Rhodes to Carthage migration plan Carthage bootstrapping plan Jun 21, 2022
@bedeho bedeho closed this as completed Jul 3, 2022
@bedeho bedeho reopened this Sep 27, 2022
@bedeho
Copy link
Member Author

bedeho commented Sep 27, 2022

wip: data centers, what are the boot nodes?, comissions, extrinsics, stake set, number, etc. reference assumption about validator slots available.

Replace this comment later.

@mnaamani
Copy link
Member

We will deploy with an initial set of 9 validators, validator count = 9 so all slots will be filled in initial phase (PoA).
The validators will bond 4x the minimum validator bond amount. The final minimum validator bond proposed in #4300 (comment)

In PoA phase sudo will increase the validator count to 13 before switching to PoS. (Validator count will be increased gradually as necessary).

The validators will be spread across three cloud providers, covering 3 geographic locations, Us-east, US-west, and Europe.

3 Non-Validator full (non-archival) nodes will also be deployed as "boot-nodes", one in each geographic location stated above. These will be configured in the chainspec.json file for the network.

2 high performance nodes will be deployed in a European data center, behind a load balancer to serve as a public RPC endpoint. (rpc.joystream.org)

2 query-node instances will be deployed in separate locations, one production and one standby, (query.joystream.org) using the public RPC endpoint. No load balancer will be used to keep configuration simple. Both nodes will share same SSL cert, and DNS record will be updated to point to the production node.

@traumschule
Copy link
Contributor

done :)

@bedeho bedeho closed this as completed Jan 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants