Ethereum swiss army knife superweapon cli tool thing?
for Ethereum hackers.
npm i -g ethernaut-cli
Warning! This software is still in alpha, and very experimental rn.
No more man pages. No more --help.
Just type ethernaut
and jump straight into an enquirer based navigation mode. Select a scope, select a task, and boom.
Once in a task, interactive mode kicks in, and parameters are collected through enquirer prompts.
This is still a regular CLI app, so commands can be called without all the fancy ui or ai stuff:
Plugins of plugins? Why not.
Plugins that enhance parameter collection prompts in other plugins with even cooler prompts, smart suggestions, etc.
For example, the ui extension of the interact plugin can fetch the abi from Etherscan if you didn't provide an abi:
But after you've interacted with the contract, it already has the abi, so the abi is instead suggested:
If that wasn't easy enough, just type whatever you want and AI will kick in to try to make sense of what you typed, and the right command or sequence of commands will be executed.
You want the AI to also teach you how the commands work? Sure.
You want the AI to also teach you about Ethereum. Also sure.
Interesting toy ain't it?
You don't have to use this entire plethora of features tho. You can use a single feature in your regular hardhat project with exactly what you need. This is because the ethernaut-cli is completely built with hardhat plugins.
You just want task navigation and interactive mode in your project: use the ethernaut-ui
plugin.
Or the ai stuff: use ethernaut-ai
plugin.
All the plugins combined conform the ethernaut-cli experience, and each is listed below:
Title | Description |
---|---|
ethernaut-ai | AI assistant that interprets user input and executes hardhat tasks |
ethernaut-challenges | Tasks for playing the Open Zeppelin Ethernaut challenges from the CLI |
ethernaut-interact | Tasks for sending transactions and interacting with contracts |
ethernaut-interact-ui | Ui extensions for the ethernaut-interact package |
ethernaut-network | Tasks for interacting with different networks |
ethernaut-network-ui | Ui extensions for the ethernaut-network package |
ethernaut-ui | Intuitive navigation and interactive param collection for hardhat tasks |
ethernaut-util | Simple, everyday utilities for Ethereum devs |
ethernaut-util-ui | Ui extensions for the ethernaut-util package |
ethernaut-wallet | Tasks for interacting from different Ethereum accounts |
ethernaut-wallet-ui | Ui extensions for the ethernaut-wallet package |
Apart from plugins, the following packages can also be found on this monorepo
Title | Description |
---|---|
ethernaut-cli | Hardhat project that combines all the plugins above and produces the ethernaut-cli binary, etc |
common | Simple utilities used across all packages in the monorepo |