Remix
Ethereum tools for the web.
Are you looking for the Remix IDE? Follow this link!
What is Remix?
Remix is a suite of tools to interact with the Ethereum blockchain in order to debug transactions, stored in this Git repository. A Remix transaction Web debugger is available here, and its source code is part of this repository.
The Remix IDE is an IDE for Solidity dApp developers, powered by Remix. The Remix IDE repository is available here, and an online version is available at https://remix.ethereum.org.
For more, check out the Remix documentation on ReadTheDocs.
How to use Remix
Prerequisites
To use Remix tools, you'll need to connect to an Ethereum node. You can do that using the Mist browser, or by connecting to your local Ethereum node (geth
, or eth
). Note: connecting to geth
does not work through https.
-
Using
geth
:geth --rpc --rpcapi 'web3,eth,debug' --rpcport 8545 --rpccorsdomain '*'
. -
Using
eth
:eth -j --rpccorsdomain '*'
DO NOT DO EXECUTE THESE COMMANDS IF geth
/eth
STORES YOUR PRIVATE KEYS, as any external system might be able to access your node's RPC server!
Those commands will run the RPC server on localhost:8545
, which is the default URL that Remix will connect to. This instance should only be used for debugging purposes. Never use features that could have an impact on your keys: do not unlock any keys, do not use this instance together with the wallet, do not activate the admin web3
API.
Run the debugger
See here how to install, run and use the debugger locally.
The debugger itself contains several controls that allow stepping over the trace and seeing the current state of a selected step.
Remix Modules
Remix is built out of several different modules:
remix-analyzer
remix-solidity
provides Solidity analysis and decoding functions.remix-lib
remix-debug
allo debuggin transaction.remix-tests
provides unit testing for solidity.remix-astwalker
provides a tool for parsing solidity AST.remix-url-resolver
provides helpers for resolving external content (github, swarm, ipfs, ...).remixd
CLI which allow accessing local element from Remix IDE (see https://remix-ide.readthedocs.io/en/latest/remixd.html)
Each generally has their own npm package and test suite, as well as basic documentation.
Contributing
Everyone is very welcome to contribute on the codebase of Remix. Please reach us in Gitter.
For more information on the contributing procedure, see CONTRIBUTING.md. For more information on running and developing the Remix debugger, see the debugger README.md.