🥯 (alpha)
bagels Bagels is a rapid prototyping tool for Solidity.
We made Bagels you can see smart contract edits instantly. Instead of writing tests, scripts, frontends, or deploying on a testnet for every change, just use bagels!
https://user-images.githubusercontent.com/7016669/215215794-ad117c14-a251-4d60-a3a7-c6d6467fa428.mp4
(excuse the video's low quality, it was hard to get it under the 10mb Github limit!)
Installation setup:
Install bagels:
npm i -g bagels
Running bagels:
-
cd
into your project's root directory - Type:
bagels
You can also fork mainnet or polygon with:
bagels --fork mainnet
bagels --fork polygon
Community & support:
Join our discord!
Known limitations
-
Bagels is in alpha. Many things will not work. When you run into bugs, please raise an issue here or in our discord
- We haven't tested this out with all possible combinations of ABIs, and a lot of things are lacking atm.
-
Bagels is not a replacement for unit testing frameworks
- Bagels is about making the initial process of writing contracts faster and more fun by tightening the feedback loop.
-
Bagels doesn't (YET) work with contracts requiring different versions of solidity than the one you have installed locally
- to check your solc version, do
solcjs --version
in the command line.
- to check your solc version, do
- Bagels only works on mac right now
Analytics
We use analytics to find out if bagels is useful, and how many people out there rely on it. We track all analytics using posthog. We only do this because NPM install analytics seem to be... very inaccurate.
Currently we track:
- Bagels being started (we use your computer's username to see distinct users).
If this is a dealbreaker for using bagels, open an issue!
Acknowledgements
- Shoutout to foundry, because we use Anvil in this project for the local network :)