Skip to Content
Packages@cfxdevkit/compiler

@cfxdevkit/compiler

Solidity compilation wrapper — compile .sol files and extract ABIs, bytecodes, and type definitions.

pnpm add @cfxdevkit/compiler

Compile a Solidity file

import { SolidityCompiler } from '@cfxdevkit/compiler' const compiler = new SolidityCompiler() const result = await compiler.compile('./contracts/MyToken.sol') console.log('ABI:', result.abi) console.log('Bytecode:', result.bytecode) console.log('Contract name:', result.contractName)

Compile from source string

const source = ` pragma solidity ^0.8.20; contract Counter { uint256 public count; function increment() external { count++; } } ` const result = await compiler.compileSource(source, 'Counter')

Multiple contracts

const results = await compiler.compileDirectory('./contracts') for (const [name, artifact] of Object.entries(results)) { console.log(`${name}: ${artifact.abi.length} functions`) }

Generate TypeScript types

const types = await compiler.generateTypes('./contracts/MyToken.sol', { outDir: './typechain-types', })
Last updated on