Skip to content

Carthage bootstrapping plan #3903

@bedeho

Description

@bedeho

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions