UniDocs

UniDocs

  • Docs
  • API
  • Tutorial
  • Help

›UniChain Protocol

Learn About UniChain

  • Welcome
  • The ecosystem

UniChain Protocol

  • Overview
  • Key Concept
  • Account and Address
  • Wallet
  • Witness Node
  • Reward Mechanism
  • Network Governance
  • Network Upgrade

UNW and Tokens

  • UniWorld Token
  • URC-20 Token
  • URC-30 Native Token
  • URC-20 Native Token
  • URC-721 Native Token

Get Started

  • Config environment
  • Run Local Network

Smart Contract

  • Your first smart contract
  • Deploy smart contract
  • Interact with smart contract

PoS Bridge

  • Introducing
  • Protocol Structure
  • Transfer Flow
  • Started

Community

  • UniChain Open Source
  • Contribution Guide
  • Reporting Vulnerabilities

Example & Demo

  • Example & Demo

Archive Package

  • Util packages

Network Governance

The unichain network is a decentralized network and is governed by decentralized mechanisms. Network-related parameters such as transaction fees, block reward, network upgrade... must be agreed upon by the majority of network nodes before they take effect.

To change any network parameter, an active witness must create a proposal and broadcast it into the network. Other active witnesses will review the proposal and decide whether to approve it or not. If more than ⅔ witnesses approve of the proposal then the network parameter will be changed, otherwise it will be rejected or expired. All proposal actions (create, cancel, approve, reject) are the transactions on the blockchain network that can be publicly discovered by UniScan

Create a proposal

Only witnesses can create proposals. To create a proposal, Witnesses can use wallet cli or web interface provided by Uni Validator

By Wallet CLI

wallet> CreateProposal 34 2

The command to create a proposal: crewateProposal <proposal ID> <value> Where the can be found in the list below and is the new proposal value

To get all proposal, We use this command:

wallet> ListProposals
{
"proposals":[
{
"proposal_id":1,
"proposer_address":"US1xxmn45vcHMWyRoT969NBtLsPuLmVkMc",
"parameters":[
{
"key":34,
"value":2
}
],
"expiration_time":1632498600000,
"create_time":1632497874000,
"approvals":[
"US1xxmn45vcHMWyRoT969NBtLsPuLmVkMc",
"UYBEVyN2wxLDZGMQBFrVn2gGL7MSRtirPk",
"Uk28n4A28nfXhgYWnRr6mXDbTbAeCkEtJ7",
"Ujhe4Wb6DXAVVLt9ziT4mf9HC63izpJscv",
"USzHCLkaE1HxbZY9o7AKqTCLCsTuBa3yPB",
"Uh2R7ahQoE5YJDZiM3wc57JRoQmS4xD9Xk",
"UazSBZCDUCABgAkhZv8WDpqgUMV4LPLBCh"
],
"state":"APPROVED"
}
]
}

The restructured will look like this:

"proposal_id": <network proposal ID>,
"proposer_address": "proposal address",
"parameters": [
{
"key":<proposal ID>,
"value": <proposal value>
}
],
"expiration_time": expire time,
"create_time": creation time,
"approvals": [
List of witnesses that approved
],
"state": "APPROVED | CANCELED | REJECTED"

Approve or reject a proposal

Only witnesses can approve or reject a proposal. If using command line, witness can approve/reject a proposal by command: ApproveProposal <network proposal ID> <response>

Where the is the network proposal ID, It’s different from proposal ID. Wherever a witness broadcasts a proposal into the network, the network proposal ID will be created (It’s integer number and increased by time). The can be true or false. If true, the proposal is approved, otherwise It will be rejected by witnesses. Example:

    approveProposal 1 true

The proposal ID list

Title/DescriptionIDCurrent value
proposal to modify the maintenance interval06 hours
proposal to modify the cost to apply for witness11000 UNW
proposal to modify account creation fee20.01 UNW
proposal to modify the transaction fee (Ginza/byte)31 Ginza
proposal to modify the token creation fee4500 UNW
proposal to modify the witness block generation reward51 UNW
proposal to modify the witness standby allowance67363 UNW
proposal to modify account creation in system contract70 UNW
proposal to modify the maximum execution time of one transaction1350 ms
proposal to allow update account name (0 or 1)140
proposal to allow delegate resource (0 or 1)161
proposal to allow the initiation of multi-signature (0 or 1)201
proposal to modify the account update permision fee222 UNW
proposal to modify the multi-signature fee230.25 UNW
proposal to modify the allowance for top 55 witnesses311 UNW
proposal to update the network version34[2, 3, 4, 5 ...]
proposal to change the max time in future transfer UNW3550 years
proposal to change the max time in future transfer token3650 years
proposal to change the fee of native URC-20/URC-30 update operation372 UNW
proposal to the max time of locking UNW (freeze UNW)383 days
proposal to the min time of locking UNW (freeze UNW)393 days
← Reward MechanismNetwork Upgrade →
UniDocs
Uni Platforms Services
UniChain PlatformUniBot Platform
Uni Applications Services
UniMe HubUniBot Offline
Work inquiries
Interested in working with us?[email protected][email protected][email protected][email protected]
Telegram Official
UniWorld EcosystemGroup DiscussionUniMe ChannelUniBot ChannelUniChain Channel
Copyright © 2022 UniWorld