risc0 / risc0-foundry-template

Template for integrating RISC Zero and Ethereum using Foundry
https://risczero.com
108 stars 60 forks source link

Add bonsai-alpha to foundry template #5

Closed mothran closed 1 year ago

mothran commented 1 year ago

Added a serverside switch to toggle between bonsai-alpha and bonsai-omega, as well as a env var to override the automatic selection.

BONSAI_BACKEND=... to manually select the backend.

Hardcoded the URL for alpha in order to look up the /alpha route for backend selection of which system to use.

mothran commented 1 year ago

Looks good, just some questions and one minor nit: The BONSAI_ENDPOINT env var is formatted differently depending on whether alpha/omega is invoked. It should be standardized to make the execution seamless between the two.

We should also start adding some documentation to the main binary since it's starting to grow.

Yeah the BONSAI_ENDPOINT tripped me up, in the alpha SDK I have been using a single env var for both the URI and API key to streamline the onboarding process for folks. How do you feel about me dropping the API_KEY env var in favor of a single variable with both packed in? My thought is that it makes both debugging and onboarding users at hackathons etc much easier.

Agreed with the docs, I will add that to my follow up pass.

hashcashier commented 1 year ago

How do you feel about me dropping the API_KEY env var in favor of a single variable with both packed in? My thought is that it makes both debugging and onboarding users at hackathons etc much easier.

The two variable approach (endpoint/api_key) is how it's also done in Bonsai, but the standardization between these two repos isn't too important I think. What could be a bit annoying however is when you're in a scenario where you just want to override one variable or the other without reading the current value of the combined variable.

mothran commented 1 year ago

Ok newest update reflects the 0.15.3 release and backs out the omega backend because of release conflicts in the omega SDK. In order to support the internal hackathon we will go with a single backend for now and reintroduce omega at a later time.