🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

solc

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
s

solc

Solidity compiler

0.8.30
latest
99

Supply Chain Security

100

Vulnerability

100

Quality

90

Maintenance

100

License

Version published
Weekly downloads
693K
-0.1%
Maintainers
6
Weekly downloads
 
Created
Issues
71

What is solc?

The solc npm package is a JavaScript binding for the Solidity compiler. It allows developers to compile Solidity code from within a JavaScript environment, making it easier to integrate smart contract compilation into web applications, development tools, and automated scripts.

What are solc's main functionalities?

Compile Solidity Source Code

This feature allows you to compile Solidity source code. The code sample demonstrates how to compile a simple Solidity contract using the solc package.

const solc = require('solc');
const source = 'contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; } }';
const input = {
  language: 'Solidity',
  sources: {
    'SimpleStorage.sol': {
      content: source
    }
  },
  settings: {
    outputSelection: {
      '*': {
        '*': ['*']
      }
    }
  }
};
const output = JSON.parse(solc.compile(JSON.stringify(input)));
console.log(output);

Get Compiler Version

This feature allows you to retrieve the version of the Solidity compiler being used. The code sample demonstrates how to get the compiler version using the solc package.

const solc = require('solc');
console.log(solc.version());

Compile with Specific Compiler Version

This feature allows you to compile Solidity code using a specific version of the Solidity compiler. The code sample demonstrates how to compile a contract using a specific compiler version.

const solc = require('solc');
const solcVersion = 'v0.8.6+commit.11564f7e';
const solcjs = require(`solc/soljson-${solcVersion}.js`);
const input = {
  language: 'Solidity',
  sources: {
    'SimpleStorage.sol': {
      content: 'contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; } }'
    }
  },
  settings: {
    outputSelection: {
      '*': {
        '*': ['*']
      }
    }
  }
};
const output = JSON.parse(solcjs.compile(JSON.stringify(input)));
console.log(output);

Other packages similar to solc

FAQs

Package last updated on 07 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts