Popularity
6.9
Growing
Activity
6.9
-
19
2
6

Monthly Downloads: 19
Programming language: Haskell
License: Apache License 2.0
Latest version: v3.3.4

ethereum-analyzer alternatives and similar packages

Based on the "ethereum" category.
Alternatively, view ethereum-analyzer alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of ethereum-analyzer or a related project?

Add another 'ethereum' Package

README

ethereum-analyzer Hackage Build Status

Usage

Solidity Control Flow Graph (CFG) Generation

stack build --profile &&\ solc --combined-json ast examples/etherscan.io/CryptoKittiesCore.sol |\ stack exec -- ea-analyze &&\ find work/ -name "*.dot" -exec dot -Tpng -O \{\} \; 

generates CFGs like

[Solidity CFG](./doc/img/KittyOwnership.tokensOfOwner.CFG.dot.png)

whose original code looks like

function tokensOfOwner(address _owner) external view returns(uint256[] ownerTokens) { uint256 tokenCount = balanceOf(_owner); if (tokenCount == 0) { return new uint256[](0); } else { uint256[] memory result = new uint256[](tokenCount); uint256 totalCats = totalSupply(); uint256 resultIndex = 0; uint256 catId; for (catId = 1; catId <= totalCats; catId++) { if (kittyIndexToOwner[catId] == _owner) { result[resultIndex] = catId; resultIndex++; } } return result; } } 

Solidity Linter (WIP)

stack build solc --combined-json ast\ examples/analysis-benchmark/selfdestruct-over-suicide.sol |\ stack exec ea-analyze 

EVM CFG Generation

stack build cat examples/etherscan.io/CryptoKittiesSalesAuction.evm | stack exec -- ea-bytecode-vis --outDot=work/tmp.dot &&\ dot -Tpng work/tmp.dot -O 

generates a pretty large CFG for the whole EVM bytecode sequence, part of which looks like

[EVM CFG](./doc/img/CryptoKittiesSalesAuction.evm.part.dot.png)