Creating and Managing Proposals
Creating and Managing Proposals from Polkadot-UI
This guide provides step-by-step instructions for members of the Toto Chain Technical Committee to create, vote on, and manage proposals using the Polkadot-JS Apps user interface (UI).
Prerequisites
You are a current member of the Technical Committee.
You have access to your Toto Chain account through the Polkadot-JS UI.
Types of Proposals
The Technical Committee can submit proposals for a range of critical network functions. The primary goal of these proposals is to manage and upgrade the chain's core logic and parameters. The main types are:
Runtime Upgrades
This is one of the most important functions of the committee. A runtime upgrade proposal allows the entire network's software to be updated without requiring a "hard fork." This is the mechanism for fixing bugs, adding new features, and improving the chain's performance.
Pallet:
systemExtrinsic:
setCode(code)
Managing Attestation Providers
The committee is responsible for managing the list of trusted attestation providers. These are the accounts that can verify user credentials and are crucial for the reputation system. The committee can propose to add new providers or remove existing ones.
Pallet:
attestationExtrinsic:
addAttester(accountId)orremoveAttester(accountId)
Managing CTypes (credential types)
The committee is responsible for managing the list of credential types. These are the credentials that can be used for attestations on the chain (examples: Google, Facebook, X, Email). The committee can propose to add new credential types or remove existing ones. They can also set the weight which corresponds to the amount of reputation that is gained for attesting with this credential.
Pallet:
attestationExtrinsic:
addCtypeWithWeight(ctypeHash, ctypeWeight)orremoveCtypeWithWeight(ctypeHash)
Other Chain Parameters
The committee can also propose changes to various other on-chain parameters that govern the network's behavior, ensuring the chain remains stable and efficient.
Step 1: Navigate to the Technical Committee Page
First, you need to go to the correct section within the Polkadot-JS UI to manage proposals.
From the main dashboard, hover over the "Governance" tab in the top navigation menu.
In the dropdown menu that appears, click on "Technical Committee".
This will take you to the main page for the Technical Committee, where you can see current members, active proposals, and past proposals.



Step 2: Submit a New Proposal
Only committee members can submit proposals. Proposals are essentially wrappers around a specific action (an extrinsic) you want the committee to approve.
On the Technical Committee page, click the "Submit proposal" button, usually located in the top-right corner.
A new window will open. Here, you will define the action for your proposal. You need to select the specific function call (extrinsic) you want the committee to execute.
Set the threshold to the number of committee members that will be required to approve the proposal.
Use the dropdown menus to select the appropriate pallet and extrinsic based on the action you want to propose (see "Types of Proposals" above).
After selecting the extrinsic, you will need to provide its parameters. For a
setCodeproposal, you would upload the new runtimewasmfile. For adding an attestation provider, you would input the provider's account ID.Once you have configured the proposal, click the "Submit" button at the bottom of the window. You will be prompted to sign and authorize the transaction with your account password.


Step 3: View and Vote on Proposals
Once a proposal is submitted, it appears in the "Proposals" section of the Technical Committee page for all members to vote on.
Find the proposal you wish to vote on in the list of active proposals.
On the right-hand side of the proposal's entry, you will see a "Vote" button. Click it.
A voting window will appear. You can choose to vote "Aye" (Yes) or "Nay" (No).
Select your vote and click the "Vote" button in the dialog. You will again need to sign the transaction to cast your vote on-chain.


Step 4: Closing a Proposal
A proposal can be closed once the voting period ends or a decision has been reached. A proposal is approved if it meets the required vote threshold (e.g., a majority of members have voted "Aye").
If a proposal is approved, a member can click the "Close" button. This will move the approved proposal to the dispatch queue to be executed automatically by the chain.
If a proposal is not approved by the end of its voting period, it will expire.
By following these steps, Technical Committee members can effectively manage the governance of the Toto Chain, ensuring that changes are proposed, voted on, and implemented in a secure and transparent manner.


Last updated