Skip to Content

@cfxdevkit/core


@cfxdevkit/core / ContractDeployer

Class: ContractDeployer

Defined in: packages/core/src/contracts/deployer/deploy.ts:47

Contract Deployer

Handles contract deployment to Conflux blockchains. Supports both Core Space (CFX native) and eSpace (EVM-compatible).

Example

const deployer = new ContractDeployer(clientManager); // Deploy to eSpace const result = await deployer.deploy({ bytecode: '0x6080604052...', abi: [...], args: ['Token Name', 'SYMBOL'], chain: 'evm' }); console.log(`Deployed to: ${result.address}`);

Constructors

Constructor

new ContractDeployer(clientManager): ContractDeployer

Defined in: packages/core/src/contracts/deployer/deploy.ts:49

Parameters

clientManager

ClientManager

Returns

ContractDeployer

Methods

deploy()

deploy(options): Promise<DeploymentResult>

Defined in: packages/core/src/contracts/deployer/deploy.ts:57

Deploy contract to a single chain

Parameters

options

DeploymentOptions

Deployment configuration

Returns

Promise<DeploymentResult>

Deployment result


deployToMultipleChains()

deployToMultipleChains(options): Promise<MultiChainDeploymentResult>

Defined in: packages/core/src/contracts/deployer/deploy.ts:80

Deploy contract to multiple chains

Parameters

options

MultiChainDeploymentOptions

Multi-chain deployment configuration

Returns

Promise<MultiChainDeploymentResult>

Multi-chain deployment results


estimateDeploymentGas()

estimateDeploymentGas(options): Promise<bigint>

Defined in: packages/core/src/contracts/deployer/deploy.ts:184

Estimate deployment gas

Parameters

options

DeploymentOptions

Deployment configuration

Returns

Promise<bigint>

Estimated gas


verifyBytecode()

verifyBytecode(_address, _expectedBytecode, _chain): Promise<boolean>

Defined in: packages/core/src/contracts/deployer/deploy.ts:202

Verify contract bytecode matches deployed contract

Parameters

_address

string

Contract address

_expectedBytecode

string

Expected bytecode

_chain

Chain type

"core" | "evm"

Returns

Promise<boolean>

true if verified