solc-loader

1.1.1 • Public • Published

solc loader for webpack

Compiles .sol with JavaScript Solidity compiler and returns JavaScript objects with Application Binary Interface (ABI) and bytecode ready to be deployed on to Ethereum.

Ideally to be used with web3-loader for automatic deployment and ready-to-use JavaScript instances of smart contracts.

Sample code

Sample dapp or starter kit can be found at uzyn/ethereum-webpack-example-dapp.

Installation

npm install solc-loader --save-dev

Usage

var SmartContracts = require('solc!./SmartContracts.sol');
// => returns SmartContracts array with each contract name, bytecode and abi.

Example webpack config

At your project's webpack.config.js:

module.exports = {
  module: {
    loaders: [
      {
        test: /\.sol$/,
        loaders: ['solc']
    ]
  }
}

Recommended usage with web3-loader

solc-loader would be much sweeter if used along web3-loader. web3-loader automatically deploys new/changed contracts on to Ethereum and returns ready-to-use JavaScript instances of smart contracts.

At your project's webpack.config.js:

module.exports = {
  module: {
    loaders: [
      {
        test: /\.sol$/,
        loaders: ['web3', 'solc']
    ]
  }
}

Extra configuration

Optimization

solc-loader is set, by default, to compile with optimization turned on.

To turn off optimization, pass optimize=0 via either query or loader config with the key solcLoader.

Query style

loaders: ['solc?optimize=0']
 
// or
loader: 'solc?optimize=0'

Config style

// webpack.config.js
module.exports = {
  solcLoader: {
    optimize: 0
  }
}

License

MIT · U-Zyn Chua (@uzyn)

Tips: 0xFfA57D3e88A24311565C9929F180739E43FBD0aA

Package Sidebar

Install

npm i solc-loader

Weekly Downloads

6

Version

1.1.1

License

MIT

Last publish

Collaborators

  • uzyn