/browser-solidity

Browser-Only Solidity IDE and Runtime Environment

Primary LanguageJavaScriptMIT LicenseMIT

Build Status

Browser-Solidity

Browser-Solidity is a browser-based Solidity compiler and IDE.

Visit https://ethereum.github.io/browser-solidity to use; it will always deliver the latest version.

Offline Usage

Full offline usage is currently not supported because the compiler is always loaded via HTTP. If you clone/download the repository, use the gh-pages branch (otherwise you still have to build the application).

Building

Many dependencies are only provided via npm:

npm install    # fetch dependencies
npm run build  # build application into build/app.js

Now point your browser to index.html to open the application.

Troubleshooting building

Here are some things to consider if you have trouble building the package.

  • Make sure that you have the correct version of node, npm and nvm. You can find the version that is tested on Travis CI by looking at the log in the build results.

Run: node --version npm --version nvm --version

  • In Debian based OSes such as Ubuntu 14.04LTS you may need to run apt-get install build-essential. After installing build-essential run npm rebuild.

Unit Testing

Register new unit test files in test/index.js. The tests are written using tape. Run the tests via:

npm test

Browser Testing

To run the Selenium tests via Nightwatch serve the app through a local web server:

npm run serve # starts web server at localhost:8080

Then you will need to either:

  1. Have a Selenium server running locally on port 4444.
    • Run: npm run browser-test
  2. Or, install and run SauceConnect.
    • Run: sc -u <USERNAME> -k <ACCESS_KEY> (see .travis.yml for values)
    • Run: npm run browser-test-sc

Usage as a Chrome Extension

If you would like to use this as a Chrome extension, you must either build it first or pull from the gh-pages branch, both described above. After that, follow these steps:

  • Browse to chrome://extensions/
  • Make sure 'Developer mode' has been checked
  • Click 'Load unpacked extension...' to pop up a file-selection dialog
  • Select your browser-solidity folder