Create a Blockchain

Learn how to configure a blockchain and create a record for it on the P-Chain by issuing a CreateChainTx transaction using the Builder Tooling.

Now that you have Core wallet set up and some AVAX on the P-Chain you can create a Subnet. You will do this by issuing a CreateSubnetTx transaction. This will create a Subnet that is uniquely identified by the transaction hash of the CreateSubnetTx transaction.

The CreateSubnetTx transaction only has a single parameter: The owner of the Subnet. The owner can add blockchains to the Subnet and convert it to an L1. With the conversion to an L1 the owner will loose it's privileges. Therefore, the owner is only relevant during the creation time and does not have to be secured by a mulit-sig if a immediate conversion to an L1 is planned. We will just use your P-Chain address as the owner.

Then you will issue the CreateChainTx on the P-Chain to create the blockchain record. The CreateChainTx transaction as the following parameters:

  • name: The name of the chain
  • subnetID: The ID of the Subnet you want to add the chain to
  • vmID: The ID of the Virtual Machine that will be used to run the chain.
  • genesisData: The genesis configuration of the chain

The Genesis Builder tool allows us to configure many aspects of the blockchain like permissioning, it's tokenonomics and the transaction fee mechanism.

Feel free to browse through the different configuration options, but for now don't change any of the defaults and just click the View Genesis JSON button.

Then click Create Chain This will create the P-Chain record for your blockchain and associate it with the Subnet created in the previous step.

The blockchain will be uniquely identified by the transaction hash of the CreateChainTx transaction.

Logo

Create Chain

Create a new blockchain with custom parameters and genesis data.

Step 1: Create a Subnet

Every chain needs to be associated with a Subnet. If you don't have a Subnet, create one here. If you already have a Subnet, skip to the next step.

Step 2: Create a Chain

Enter the parameters for your new chain.

Suggestions:
C-Chain (11111111111111111111111111111111LpoYY)
The C-Chain of the Mainnet is the EVM chain of the Primary Network.

Virtual Machine

Select what Virtual Machine (VM) your chain will use.

Chain Parameters

Enter the basic parameters of your L1, such as the EVM chain ID.

Unique identifier for your blockchain. Check chainlist.org to avoid conflicts.

Permissions

By design, blockchain networks are fully permissionless, allowing anyone to transact and deploy smart contracts. However, certain use cases require permissioning to control who can participate in transactions or deploy contracts. On Avalanche, permissioning is an optional feature for Layer 1 blockchains that may or may not be activated, depending on the network's needs.

Tokenomics

Tokenomics in Layer 1 blockchains on the Avalanche network are highly flexible, allowing developers to tailor economic models to their specific needs. Each L1 can define its own native token, specifying its initial allocation, distribution mechanism, and whether it should be mintable for ongoing issuance. This enables a wide range of economic designs, from fixed-supply tokens to inflationary models that support network sustainability.

Transaction Fees & Gas

In addition to the native token, you can also configure the transaction fees (also known as gas fees). This allows Avalanche L1s to define the desired or maximal throughput of the blockchain differently.

Fill in the configuration to generate the genesis file.

Congratulations! You have successfully created a blockchain record on the P-Chain. The blockchain does not have any validator nodes yet, so we can't connect our wallet to it or issue any transactions just yet. You will learn how to do that in the next section.

Is this guide helpful?

On this page

No Headings