What is EVMcrispr?
EVMcrispr is a powerful tool that combines a command line interface with a Javascript library to create multi-action EVM scripts, including interacting with Aragon DAOs. With it, you can bundle many operations into just one script, generating a singular transaction, or create multiple transactions using a single script.
In its current state, EVMcrispr is proficient at managing DAOs using the AaragonOS framework, including Garden DAOs. It currently supports AragonOS v4 and v5, allowing for a wealth of possible DAO actions, including:
- Installing new native and custom Aragon apps.
- Granting or revoking permissions.
- Modifying the settings of apps.
- Creating internal actions with installed apps or interacting with external contracts on the blockchain.
However, EVMcrispr is much more; the true beauty of this tool is that you don't need to be a pro developer to create complex and powerful EVMscripts that can interact with multiple smart contracts and create multiple actions. There are only two requirements to start using this tool:
- A modern web browser installed (we recommend Firefox or Brave).
- A crypto web wallet extension installed on a said modern browser (like MetaMask).
That being said, to fully grasp the utilities of EVMcrispr, you should have some intermediate knowledge of Ethereum, Javascript, and navigating Block Explorers such as Etherscan, for example.
Using EVMcrisprβ
The most typical application of EVMcrispr will be to create multi-action scripts that can be sent to DAOs to be voted on. As mentioned, EVMcrispr, in its current form, is tailor-made to work within the AragonOS framework, navigating its library of native and custom apps and system of permissions.
The EVMcrispr terminal is where you will make your scripts. This is where the magic happens. Simply connect with your web wallet and switch to the same EVM-compatible chain of the DAO that you want to interact with (i.e., Mainnet, Matic, Gnosis Chain, etc.).
Sending Scriptsβ
When writing a script, each line on the terminal defines another action that will be bundled into the same script.
Once you're ready to send your script, hit Forward
, and EVMcrispr will generate the transaction for you to sign with your web wallet.
You can use the' exec' command to send a script of multiple actions to a specific contract or multiple contracts on the connected network. Follow this syntax:
exec <contractAddress> <functionName>([...argumentTypes]) [...parameters]
For example:
set $token.tokenlist https://tokens.honeyswap.org/
set $farm 0xD93d3bDBa18ebcB3317a57119ea44ed2Cf41C2F2
set $token-manager 0x24F2d06446AF8D6E89fEbC205e7936a602a87b60
exec $farm getReward()
exec @token(GIV) approve(address,uint256) $token-manager @token.balance(GIV,@me)
exec $token-manager wrap(uint256) @token.balance(GIV,@me)
Or, if you're sending scripts to an AragonOS-compatible DAO, you'll need to preface your scripts with the connect
command. More on that in the AragonOS section
Sending Multiple Scriptsβ
If you want to send multiple scripts at once, you must separate them with a blank row. Each separated script will produce a separate transaction that needs to be signed with your web wallet. Here's a basic idea of how this would look:
# script 1
connect <myDAO> [...forwardPath] (
[...actions]
)
# script 2
connect <myOtherDAO> [...forwardPath] (
[...actions]
)
Managing Scriptsβ
Savingβ
You can title and save scripts into your script library with the save button in the top right corner of the terminal. It will save your EVMcrispr script for later use in your browser's local storage.
Sharingβ
Any script inside your terminal can be copied and shared via a simple URL. First, click the share button near the top right edge of the terminal window, which will upload the script to IPFS and create a unique URL with an IPFS hash. The full URL is then copied to your clipboard and ready to be shared!
Loadingβ
You can see a tab named Library
on the right-hand side of the terminal screen. Clicking this will open up a list of your saved scripts. Click on a script in your library to load it into the terminal.
danger
If you clear or delete your browser's local data storage, you will erase all your saved scripts in your script library! If you want to permanently save a script, try clicking the share button and keep a copy of the URL somewhere safe.
Who uses EVMcrispr?β
Some notable DAOs have already found great success using EVMcrispr. Check out some of the use cases these formidable DAOs have found:
- CurveDAO used it to upgrade itβs voting app implementation contract.
- 1Hive used it to claim its ENS airdrop and transfer the funds of its mainnet DAO.
- Giveth used it to replace the Unipool contract for another one in their gardens DAO and currently uses it to distribute GIVbacks.
- TECommons used it for minting and burning tokens and also for migrating to a gardens DAO and installing a bonding curve.
- BrightId is using it to change the parameters on their garden's conviction voting app and will use it to install the BrightId Gatekeeper as an ACL oracle.
- Agave used it to revoke the vesting of their founders and transfer funds from their agent to many contributors.
Who made EVMcrispr?β
EVMcrispr is a product of Blossom Labs, a duo of two top-notch smart contract developers, Sem and Elessar. You can check out all of the open-source products they have built on their Github Organization.