Skip to content

uzyn/solc-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Ethereum Solidity module for Webpack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •