Módulos

Contract Deployer

Deploy de contratos EVM a partir de ABI+bytecode ou fonte Solidity.

O ContractDeployer faz deploy de contratos na Arc blockchain a partir de ABI+bytecode pré-compilados ou diretamente de um arquivo .sol.

Importação

from arc_devkit.deploy.deployer import ContractDeployer

Deploy de ABI + bytecode

deployer = ContractDeployer(private_key="0xKey")

address = deployer.deploy(
    abi=abi,
    bytecode="0x608060405234801561001057600080fd5...",
    constructor_args=[],
)
print(f"Deployed at: {address}")

Deploy de Solidity source

Requer solc ou py-solc-x instalado:

pip install py-solc-x
address = deployer.deploy_source(
    source_file="MyToken.sol",
    contract_name="MyToken",
    constructor_args=["My Token", "MTK", 18],
)

Referência da API

ContractDeployer(private_key)

ParâmetroTipoDescrição
private_keystrChave privada do deployer

deploy(abi, bytecode, constructor_args)

ParâmetroTipoDescrição
abilistABI do contrato
bytecodestrBytecode compilado (hex)
constructor_argslistArgumentos do constructor

Retorna: str — endereço do contrato deployado.

deploy_source(source_file, contract_name, constructor_args)

ParâmetroTipoDescrição
source_filestrCaminho para o arquivo .sol
contract_namestrNome do contrato no arquivo Solidity
constructor_argslistArgumentos do constructor

Retorna: str — endereço do contrato deployado.

py-solc-x para deploy_source

O método deploy_source requer py-solc-x instalado e um compilador solc disponível. Para ambientes de produção, prefira deploy() com bytecode pré-compilado via Hardhat ou Foundry.