Skip to content

Alex-Neo-Projects/bagels

Repository files navigation

bagels 🥯 (alpha)

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!

bagels.demo.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:

  1. cd into your project's root directory
  2. Type: bagels

You can also fork mainnet or polygon with:

bagels --fork mainnet
bagels --fork polygon

Community & support:

Join our discord!

Known limitations

  1. 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.
  2. 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.
  3. 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.
  4. 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 :)