parent
03edddf32d
commit
38c49b05b1
@ -1,174 +0,0 @@ |
|||||||
[![CircleCI](https://circleci.com/gh/ethereum/remix-project.svg?style=svg)](https://circleci.com/gh/ethereum/remix-project) |
|
||||||
|
|
||||||
# Remix |
|
||||||
|
|
||||||
Remix is a browser-based compiler and IDE that enables users to build **Ethereum contracts with Solidity language** and to debug transactions. |
|
||||||
|
|
||||||
To try it out, visit [https://remix.ethereum.org](https://remix.ethereum.org). |
|
||||||
|
|
||||||
https://github.com/ethereum/remix-ide/releases also gives others ways to use Remix locally. Please check it out. |
|
||||||
|
|
||||||
Remix consists of many modules and in this repository you will find the Remix IDE (aka. Browser-Solidity). |
|
||||||
|
|
||||||
![Remix screenshot](https://github.com/ethereum/remix-ide/raw/master/remix_screenshot.png) |
|
||||||
|
|
||||||
## Offline Usage |
|
||||||
|
|
||||||
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. |
|
||||||
|
|
||||||
Note: It contains the latest release of Solidity available at the time of the packaging. No other compiler versions are supported. |
|
||||||
|
|
||||||
|
|
||||||
## INSTALLATION: |
|
||||||
|
|
||||||
Install **npm** and **node.js** (see https://docs.npmjs.com/getting-started/installing-node), then do: |
|
||||||
|
|
||||||
Remix-ide has been published as an npm module: |
|
||||||
|
|
||||||
```bash |
|
||||||
yarn global add remix-ide |
|
||||||
remix-ide |
|
||||||
``` |
|
||||||
Or if you want to clone the github repository (`wget` need to be installed first) : |
|
||||||
|
|
||||||
```bash |
|
||||||
git clone https://github.com/ethereum/remix-ide.git |
|
||||||
git clone https://github.com/ethereum/remix.git # only if you plan to link remix and remix-ide repositories and develop on it. |
|
||||||
|
|
||||||
cd remix # only if you plan to link remix and remix-ide repositories and develop on it. |
|
||||||
yarn install # only if you plan to link remix and remix-ide repositories and develop on it. |
|
||||||
yarn run bootstrap # only if you plan to link remix and remix-ide repositories and develop on it. |
|
||||||
|
|
||||||
cd remix-ide |
|
||||||
yarn install |
|
||||||
yarn run setupremix # only if you plan to link remix and remix-ide repositories and develop on it. |
|
||||||
npm start |
|
||||||
``` |
|
||||||
|
|
||||||
## Docker: |
|
||||||
|
|
||||||
Prerequisites: |
|
||||||
* Docker (https://docs.docker.com/desktop/) |
|
||||||
* Docker-compose (https://docs.docker.com/compose/install/) |
|
||||||
|
|
||||||
### Run with docker |
|
||||||
|
|
||||||
If you want to run latest changes that are merged into master branch then run: |
|
||||||
|
|
||||||
``` |
|
||||||
docker pull remixproject/remix-ide:latest |
|
||||||
docker run -p 8080:80 remixproject/remix-ide:latest |
|
||||||
``` |
|
||||||
|
|
||||||
If you want to run latest remix-live release run. |
|
||||||
``` |
|
||||||
docker pull remixproject/remix-ide:remix_live |
|
||||||
docker run -p 8080:80 remixproject/remix-ide:remix_live |
|
||||||
``` |
|
||||||
|
|
||||||
### Run with docker-compose: |
|
||||||
|
|
||||||
To run locally without building you only need docker-compose.yaml file and you can run: |
|
||||||
|
|
||||||
``` |
|
||||||
docker-compose pull |
|
||||||
docker-compose up -d |
|
||||||
``` |
|
||||||
|
|
||||||
Then go to http://localhost:8080 and you can use you Remix instance. |
|
||||||
|
|
||||||
To fetch docker-compose file without cloning this repo run: |
|
||||||
``` |
|
||||||
curl https://raw.githubusercontent.com/ethereum/remix-ide/master/docker-compose.yaml > docker-compose.yaml |
|
||||||
``` |
|
||||||
|
|
||||||
## DEVELOPING: |
|
||||||
|
|
||||||
Run `npm start` and open `http://127.0.0.1:8080` in your browser. |
|
||||||
|
|
||||||
Then open your `text editor` and start developing. |
|
||||||
The browser will automatically refresh when files are saved. |
|
||||||
|
|
||||||
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. |
|
||||||
|
|
||||||
### Troubleshooting building |
|
||||||
|
|
||||||
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](https://travis-ci.org/ethereum/remix-ide). |
|
||||||
|
|
||||||
Run: |
|
||||||
|
|
||||||
```bash |
|
||||||
node --version |
|
||||||
npm --version |
|
||||||
nvm --version |
|
||||||
``` |
|
||||||
|
|
||||||
- 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`. |
|
||||||
|
|
||||||
## Unit Testing |
|
||||||
|
|
||||||
Register new unit test files in `test/index.js`. |
|
||||||
The tests are written using [tape](https://www.npmjs.com/package/tape). |
|
||||||
|
|
||||||
Run the unit tests via: `yarn test` |
|
||||||
|
|
||||||
For local headless browser tests run `yarn run test-browser` |
|
||||||
(requires Selenium to be installed - can be done with `yarn run selenium-install`) |
|
||||||
|
|
||||||
Running unit tests via `yarn test` requires at least node v7.0.0 |
|
||||||
|
|
||||||
## Browser Testing |
|
||||||
|
|
||||||
To run the Selenium tests via Nightwatch: |
|
||||||
|
|
||||||
- Build Remix IDE and serve it: `yarn run build && yarn run serve` # starts web server at localhost:8080 |
|
||||||
- Make sure Selenium is installed `yarn run selenium-install` # don't need to repeat |
|
||||||
- Run a selenium server `yarn run selenium` |
|
||||||
- Run all the tests `yarn run nightwatch_local_firefox` or `yarn run nightwatch_local_chrome` |
|
||||||
- Or run a specific test case: |
|
||||||
|
|
||||||
- yarn run nightwatch_local_ballot |
|
||||||
|
|
||||||
- yarn run nightwatch_local_libraryDeployment |
|
||||||
|
|
||||||
- yarn run nightwatch_local_solidityImport |
|
||||||
|
|
||||||
- yarn run nightwatch_local_recorder |
|
||||||
|
|
||||||
- yarn run nightwatch_local_transactionExecution |
|
||||||
|
|
||||||
- yarn run nightwatch_local_staticAnalysis |
|
||||||
|
|
||||||
- yarn run nightwatch_local_signingMessage |
|
||||||
|
|
||||||
- yarn run nightwatch_local_console |
|
||||||
|
|
||||||
- yarn run nightwatch_local_remixd # remixd needs to be run |
|
||||||
**NOTE:** |
|
||||||
|
|
||||||
- **the `ballot` tests suite** requires to run `ganache-cli` locally. |
|
||||||
|
|
||||||
- **the `remixd` tests suite** requires to run `remixd` locally. |
|
||||||
|
|
||||||
- **the `gist` tests suite** requires specifying a github access token in **.env file**. |
|
||||||
``` |
|
||||||
gist_token = <token> |
|
||||||
``` |
|
||||||
**note that this token should have permission to create a gist.** |
|
||||||
|
|
||||||
|
|
||||||
## 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 `remix-ide` folder |
|
||||||
|
|
||||||
## Documentation |
|
||||||
|
|
||||||
To see details about how to use Remix for developing and/or debugging Solidity contracts, please see [our documentation page](https://remix-ide.readthedocs.io/en/latest/) |
|
Loading…
Reference in new issue