Skip to content

Creating a New Genesis State

Vikram Rajkumar edited this page Jul 17, 2014 · 1 revision

Describes how to launch a DPOS blockchain.

Create a genesis block

Below is a well-formed example genesis block for a blockchain whose BTS_BLOCKCHAIN_INITLA_SHARES equals 1000 and BTS_BLOCKCHAIN_NUM_DELEGATES equals 3.

  {
      "supply": 1000,
      "timestamp": "19700101T000000",
      "balances":[[
	      "Pk7Q18XihQkQZr7D5vctE7oLB9Gks1n2yz",
	      500
	    ],[
	      "PqozkSWKCGgNKg5TsWdjjs6tW8t7CT9PBH",
	      500
            ]
       ]
       "names":[{
	      "name": "delegate-0",
	      "is_delegate": true,
	      "owner": "XTS67GHdpsf6aZH99i4uWRKHaGiU9HwXteDV6RiKXqK6LF88YXWkk"
	    },{
	      "name": "delegate-1",
	      "is_delegate": true,
	      "owner": "XTS8BnBoSmZAXfkYG2JxNmrW778GDhaL4NnDn8XNZwEqd3TrAQz67"
	    },{
	      "name": "delegate-2",
	      "is_delegate": true,
	      "owner": "XTS6jNEqKXPLsm7nJEUmhTxk6CLNEB3uPRLVCiRpw6nyuw11pNUAY"
	    }
       }
}

"balances" contains a list of lists containing an address and its initial balance. These addresses can be any format supported by the DAC, like PTS or BTC addresses. The sum of these balances must equal "supply".

"names" contains a list of name objects. In each such object:

  • "name" must be a valid DPOS name - 63 chars or less, lowercase alphanumeric and hyphens (but not starting or ending with hyphen).
  • "is_delegate" is true if this is an initial delegate
  • "owner" is a valid DPOS public key, as generated by "./bitshares_toolkit/programs/utils/bts_create_key"

Here are some example genesis blocks generated from snapshots of other crypto-equities:

  • BitShares XT (50% PTS, 50% AGS on Feb 28, 2014):
  • TODO
Clone this wiki locally