Tool to perform static analysis on Solidity smart contracts


Keywords
blockchain, ethereum, evm, remix, remix-ide, smart-contracts, solidity
License
MIT
Install
npm install remix-analyzer@0.3.1

Documentation

Remix

Join the chat at https://gitter.im/ethereum/remix CircleCI Documentation Status

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:

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.