embark-compiler
v6.0.0
Published
Embark compiler module
Downloads
104
Readme
embark-compiler
Embark compiler module
Abstracts the compiler interface and exposes a plugin api to register contract extensions and how to handle them. It accepts command requests to compile and returns the aggregated compilation result.
API
command: compiler:contracts:compile
arguments:
contractFiles
-options
- config object{isCoverage: boolean (default: false)}
response:
error
compiledObject
- compilation result
{
runtimeBytecode: <deployed bytecode>
realRuntimeByteCode: <deployed bytecode without swarm hash>
code: <bytecode>
abiDefinition: <abi object>
swarmHash: (optional)
gasEstimates: (optional)
functionHashes: (optional)
filename: (optional) <contract relative filename>
originalFilename: (optional) <contract real filename>
}
example:
import { File } from 'src/lib/core/file.js';
const contractFiles = [(new File({path: "simplestorage.sol", type: "custom", resolver: (cb) => { return cb(".. contract code...") }}))];
embark.events.request("compiler:contracts:compile", contractFiles, {}, (err, compiledObject) => {
})
Plugins
This module enables the registerCompiler
plugin API. see documentation
embark.registerCompiler
arguments:
extension
- extension of the contract language (e.g.sol
)- response callback
contractFiles
: filenames matching the extensioncallback(error, compiledObject)
Visit framework.embarklabs.io to get started with Embark.