Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.

Latest commit

 

History

History
74 lines (49 loc) · 2.37 KB

deploy.md

File metadata and controls

74 lines (49 loc) · 2.37 KB
sidebar_label description
Deploy the Blobstream contract
Learn how to deploy the Blobstream smart contract.

Deploy the Blobstream contract

The deploy is a helper command that allows deploying the Blobstream smart contract to a new EVM chain:

blobstream deploy --help

Deploys the Blobstream contract and initializes it using the provided Celestia chain

Usage:
  blobstream deploy <flags> [flags]
  blobstream deploy [command]

Available Commands:
  keys        Blobstream keys manager

How to run

Install the Blobstream binary

Make sure to have the Blobstream binary installed. Check the Blobstream binary page for more details.

Add keys

In order to deploy a Blobstream smart contract, you will need a funded EVM address and its private key. The keys command will help you set up this key:

blobstream deploy keys  --help

To import your EVM private key, there is the import subcommand to assist you with that:

blobstream deploy keys evm import --help

This subcommand allows you to either import a raw ECDSA private key provided as plaintext, or import it from a file. The files are JSON keystore files encrypted using a passphrase like in this example.

After adding the key, you can check that it's added via running:

blobstream deploy keys evm list

For more information about the keys command, check the keys documentation.

Deploy the contract

Now, we can deploy the Blobstream contract to a new EVM chain:

blobstream deploy \
  --evm.chain-id 4 \
  --core.grpc localhost:9090 \
  --core.rpc localhost:26657 \
  --starting-nonce latest \
  --evm.rpc http://localhost:8545

The --starting-nonce can have the following values:

  • latest: to deploy the Blobstream contract starting from the latest validator set.
  • earliest: to deploy the Blobstream contract starting from genesis.
  • nonce: you can provide a custom nonce on where you want Blobstream to start. If the provided nonce is not a Valset attestation, then the valset before it will be used to deploy the Blobstream smart contract.

And, now you will see the Blobstream smart contract address in the logs along with the transaction hash.