Interact with smart contracts on any EVM chain. ABI Ninja provides an intuitive frontend for contracts from most popular EVM networks, currently supporting:
- Verified contracts. Pulls the code from AnyABI and Etherscan API as a fallback option.
- Unverified contracts. Two different options are available:
- Decompile using
heimdall-rs
(experimental). - Provide the ABI and the contract address.
- Decompile using
- Proxy contracts. Autodetects most popular proxy patterns, and allows to read and write as proxy.
ABI Ninja (v2) is built with ๐ Scaffold-ETH 2.
Homepage | Unverified Contract Options |
---|---|
Friendly UI even for the most complex data structures:
Before you begin, you need to install the following tools:
- Node (v18 LTS)
- Yarn (v1 or v2+)
- Git
- Clone this repo & install dependencies
git clone https://github.com/BuidlGuidl/abi.ninja.git
cd abi.ninja
yarn install
- Start the frontend
yarn start
Visit your local instance of ABI Ninja at: http://localhost:3000
.
ABI Ninja uses Cypress for end-to-end testing. Our test suite covers user flows and ensures the application works correctly across different networks and contract types. The test suite will automatically run on pull requests.
To run the Cypress tests:
- Ensure your development server is running:
yarn start
- In a new terminal window, run the Cypress tests:
yarn cypress:open
This will open the Cypress Test Runner, where you can run individual tests or the entire suite.
- For headless testing, use:
yarn cypress:run
Our tests cover the following key areas:
- Loading and interacting with verified contracts on various networks
- Handling unverified contracts and manual ABI input
- Detecting and interacting with proxy contracts
- Network switching and custom network addition
When adding new features or modifying existing ones, please update or add corresponding tests. Test files are located in the cypress/e2e
directory.
For more information on writing Cypress tests, refer to the Cypress Documentation.
We welcome contributions to ABI Ninja!
Please see CONTRIBUTING.MD for more information and guidelines for contributing to ABI Ninja.