@cfxdevkit/compiler
Solidity compilation wrapper — compile
.solfiles and extract ABIs, bytecodes, and type definitions.
pnpm add @cfxdevkit/compilerCompile 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