Skip to content

Commit

Permalink
Clean up Readme & add a demo video
Browse files Browse the repository at this point in the history
  • Loading branch information
alexreyes authored Jan 27, 2023
1 parent 3bfe460 commit ae2e426
Showing 1 changed file with 17 additions and 40 deletions.
57 changes: 17 additions & 40 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,32 @@
![codename bagel](https://github.com/Alex-Neo-Projects/bagels/blob/main/assets/banner.png)

# bagels 🥯 (alpha)

Bagels is a rapid prototyping tool for Solidity.
**Bagels is a rapid prototyping tool for Solidity.**

Features:
- Interact with your contracts via the UI
- Instantly see contract changes via the UI
- Also, this works with your existing testing framework! (Use it w/ hardhat or forge)
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!

**The goal of bagels is to make iterating on smart contracts feel like a videogame.**
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:
Pick your preferred node package manager:
```
npm i -g bagels
```
or
```
yarn add global bagels
```
or
```
bun -g i bagels
```

## Running bagels:
Type `bagels` in your solidity project's root directory
1) `cd` into your project's root directory
2) Type: `bagels`

#### Known limitations
1) **bagels is not a unit testing framework**. Bagels is about making the initial process of writing contracts faster and more fun by tightening the feedback loop.
2) **If you're going to deploy to mainnet, using a local network is probably not enough** and you should still test on a public testnet.
3) **We haven't tested this out with all possible combinations of ABIs**, so if you run into problems please raise an issue.
4) **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.

## Community & support:

Join our [discord](https://discord.gg/DC77fxj3ks)!

##### Things to look out for:
1) If the Anvil process fails to close, try running these commands:
1) `lsof -i:8545`
2) Find the pid of the process
3) `kill <pid>`
2) The following steps above can be applied for the backend and frontend process. Just replace the 8545 port number with the one that's failing to close.
1) backed port: 9090
2) frontend port: 9091

#### Contributing to Bagels:
1) Setup (we use bun):
- `git clone https://github.com/Alex-Neo-Projects/bagels`
- `cd bagels`
- `bun i`
- `bun run dev`
2) Make an issue telling us what you'd like to add
3) Make a PR
#### 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](https://discord.gg/DC77fxj3ks)**
- 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.

0 comments on commit ae2e426

Please sign in to comment.