1 | [![Build Status](https://travis-ci.org/ethereum/remix-ide.svg?branch=master)](https://travis-ci.org/ethereum/remix-ide)
|
2 | [![CircleCI](https://circleci.com/gh/ethereum/remix-ide.svg?style=svg)](https://circleci.com/gh/ethereum/remix-ide)
|
3 | [![BrowserStack Status](https://www.browserstack.com/automate/badge.svg?badge_key=MTc5WVBoNnhOTGhaUng3ZFI3MDZvNWkraHIrd1FNanZIZk80SG9uMkFIND0tLUoyUjd1YVhWRnRrcUJMMnFlbmN3Y0E9PQ==--4085377897aef217e507c8fc46d463eb699838b8)](https://www.browserstack.com/automate/public-build/MTc5WVBoNnhOTGhaUng3ZFI3MDZvNWkraHIrd1FNanZIZk80SG9uMkFIND0tLUoyUjd1YVhWRnRrcUJMMnFlbmN3Y0E9PQ==--4085377897aef217e507c8fc46d463eb699838b8)
|
4 |
|
5 |
|
6 |
|
7 | # Remix
|
8 |
|
9 | Remix is a browser-based compiler and IDE that enables users to build **Ethereum contracts with Solidity language** and to debug transactions.
|
10 |
|
11 | To try it out, visit [https://remix.ethereum.org](https://remix.ethereum.org).
|
12 |
|
13 | https://github.com/ethereum/remix-ide/releases also gives others ways to use Remix locally. Please check it out.
|
14 |
|
15 | Remix consists of many modules and in this repository you will find the Remix IDE (aka. Browser-Solidity).
|
16 |
|
17 | ![Remix screenshot](https://i.imgur.com/clfc7US.png)
|
18 |
|
19 | ## Offline Usage
|
20 |
|
21 | The `gh-pages` branch has always the latest stable build of Remix. It also contains a ZIP file with the entire build. Download it to use offline.
|
22 |
|
23 | Note: it contains the latest release of Solidity available at the time of the packaging. No other compiler versions are supported.
|
24 |
|
25 |
|
26 | ## INSTALLATION:
|
27 |
|
28 | Install **npm** and **node.js** (see https://docs.npmjs.com/getting-started/installing-node), then do:
|
29 |
|
30 | Remix-ide has been published as an npm module:
|
31 |
|
32 | ```bash
|
33 | npm install remix-ide -g
|
34 | remix-ide
|
35 | ```
|
36 | Or if you want to clone the github repository (`wget` need to be installed first) :
|
37 |
|
38 | ```bash
|
39 | git clone https://github.com/ethereum/remix-ide.git
|
40 | cd remix-ide
|
41 | npm install
|
42 | npm run setupremix # this will clone https://github.com/ethereum/remix for you and link it to remix-ide. Only execute this step if you want to contribute on Remix development
|
43 | npm start
|
44 | ```
|
45 |
|
46 | ## DEVELOPING:
|
47 |
|
48 | Run `npm start` and open `http://127.0.0.1:8080` in your browser.
|
49 |
|
50 | Then open your `text editor` and start developing.
|
51 | The browser will automatically refresh when files are saved.
|
52 |
|
53 | Most of the the time working with other modules (like debugger etc.) hosted in the [Remix repository](https://github.com/ethereum/remix) is not needed.
|
54 |
|
55 | ### Troubleshooting building
|
56 |
|
57 | Some things to consider if you have trouble building the package:
|
58 |
|
59 | - 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](https://travis-ci.org/ethereum/remix-ide).
|
60 |
|
61 | Run:
|
62 |
|
63 | ```bash
|
64 | node --version
|
65 | npm --version
|
66 | nvm --version
|
67 | ```
|
68 |
|
69 | - In Debian based OS such as Ubuntu 14.04LTS you may need to run `apt-get install build-essential`. After installing `build-essential` run `npm rebuild`.
|
70 |
|
71 | ## Unit Testing
|
72 |
|
73 | Register new unit test files in `test/index.js`.
|
74 | The tests are written using [tape](https://www.npmjs.com/package/tape).
|
75 |
|
76 | Run the unit tests via: `npm test`
|
77 |
|
78 | For local headless browser tests run `npm run test-browser`
|
79 | (requires Selenium to be installed - can be done with `npm run selenium-install`)
|
80 |
|
81 | Running unit tests via `npm test` requires at least node v7.0.0
|
82 |
|
83 | ## Browser Testing
|
84 |
|
85 | To run the Selenium tests via Nightwatch serve the app through a local web server:
|
86 |
|
87 | `npm run serve` # starts web server at localhost:8080
|
88 |
|
89 | Then you will need to either:
|
90 |
|
91 | 1. Have a Selenium server running locally on port 4444.
|
92 | - Run: `npm run test-browser`
|
93 |
|
94 | 2. Or, install and run SauceConnect.
|
95 | - Run: `sc -u <USERNAME> -k <ACCESS_KEY>` (see `.travis.yml` for values)
|
96 | - Run: `npm run browser-test-sc`
|
97 |
|
98 | ## Usage as a Chrome Extension
|
99 |
|
100 | 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.
|
101 | After that, follow these steps:
|
102 |
|
103 | - Browse to `chrome://extensions/`
|
104 | - Make sure 'Developer mode' has been checked
|
105 | - Click 'Load unpacked extension...' to pop up a file-selection dialog
|
106 | - Select your `remix-ide` folder
|
107 |
|
108 | ## Documentation
|
109 |
|
110 | To see details about how to use Remix for developing and/or debugging Solidity contracts, please see [our documentation page](https://remix.readthedocs.io)
|