Become a Block Producer

Participate in consensus and strength our network by operating server to produce nodes.

Basic requirements:

  • Access to data-center fast internet (AWS, Azure, etc)

  • m3.medium instance or better (3.75GB RAM, and 1 vCPU)

  • 100 GB of storage or greater

  • Provide at least 98%+ uptime

Data-center is not required as long as you have access to high speed internet.

The process

  1. Create a ticket Quanta-core Issues with following template.

  2. Announce it our Quanta Telegram community

  3. Reach out to us on Telegram

  4. Once you have enough votes, you will voted in as an active block producer.

Creating a witness proposal

In order to become an active block producer, you must create a witness proposal on the blockchain.

First, upgrade account to be create yourself a witness proposal:

upgrade_account <accountname> true
>>> create_witness <accountname> "https://github.com/quantadex/quanta-core/issues/<your issue>" true
{
  "ref_block_num": 139,
  "ref_block_prefix": 3692461913,
  "relative_expiration": 3,
  "operations": [[
  21,{
    "fee": {
      "amount": 0,
      "asset_id": "1.3.0"
    },
    "witness_account": "1.2.16",
    "url": "url-to-proposal",
    "block_signing_key": "<PUBLIC KEY>",
    "initial_secret": "00000000000000000000000000000000000000000000000000000000"
  }
]
  ],
  "signatures": [
  "1f2ad5597af2ac4bf7a50f1eef2db49c9c0f7616718776624c2c09a2dd72a0c53a26e8c2bc928f783624c4632924330fc03f08345c8f40b9790efa2e4157184a37"
  ]
}

Voting for Witness

vote_for_witness <voting_account> <witness_account> true true

Vote will take effect after the maintenance window:

unlocked >>> get_dynamic_global_properties
get_dynamic_global_properties
{
  "id": "2.1.0",
  "head_block_number": 2283648,
  "head_block_id": "0022d8802b618cf8447ed6f53c78cac25b053341",
  "time": "2019-01-14T22:41:03",  # <-- current time
  "current_witness": "1.6.4",
  "next_maintenance_time": "2019-01-15T00:00:00", # <--- maintenance window
  "last_budget_time": "2019-01-14T00:00:01",
  "witness_budget": 0,
  "accounts_registered_this_interval": 11,
  "recently_missed_count": 3,
  "current_aslot": 2500579,
  "recent_slots_filled": "334793941648020101144837524519280048061",
  "dynamic_flags": 0,
  "last_irreversible_block_num": 2283642
}

Configure Node for Block Production

Configure your config.ini file to specify the node which witness you're producing as, and the block signing key.

witness-id = "1.6.10"
private-key = ["QAH7vQ7GmRSJfDHxKdBmWMeDMFENpmHWKn99J457BNApiX1T5TNM8","5JGi7DM7J8fSTizZ4D9roNgd8dUc5pirUe9taxYCUUsnvQ4zCaQ"]
# Run the node
quanta-node --data-dir data/testnet

Last updated