You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.
Hey guys, so there's been a decision upstream that has pretty deep effects on craft.
antehandler -> middleware -> antehandler
So basically we've got to rework craft and the promise of not breaking api's well, it won't be fulfilled. But that's okay, we won't dwell on that part.
In fact, Craft has become all of Notional's chains, will soon become Dig, and we'd like it to kick off a few hundred, or thousand chains.
Here's some relevant context, but it is fair to say that there are affects across the entire cosmos stack.
Specifcally, the SDK team has decided to revert to the antehandler pattern from middleware.
Here are the pieces of craft that are affected by this decision:
exp module
cosmwasm
ibc 3.0
groups module
app.go
nfts
So, that's to say that we're going to need to do significant rework here, I'd like to say that we need to give ourselves at least two weeks to sort that out, and then return to the previous release cadence.
Since Osmosis is sponsoring the use of craft as a template to be included in the sdk, and because I really want to see live integration tests across cosmos like the one that I made for Gaia that state syncs Gaia with numerous databases, I don't want to significantly change our plan or direction.
Cosmos SDK 46 reached v0.46.0-beta2, and had reached a stage where there were not supposed to be further large api breaking changes. We were actually ahead of schedule with craft, and the SDK itself was ahead of schedule, too (well, ahead of my anticipated schedule, anyhow).
Because of the reversion, some stuff will get easier, and other stuff is going to get harder.
ibc-go v3.1.0 should work natively I think. The only changes will be to gov stuff, but not to middleware because it won't exist anymore. Here's relevant work:
So basically, the way that we'll be able to maintain all this code, and help others to maintain their code, is by separating the parts of developing a cosmos chain into two:
1) base
The base will include tendermint, cosmos-sdk, and ibc-go. There will be a cosmwasm flavored base, and a base without cosmwasm.
2) Features
First of all it is notable that if all features are in cosmwasm, you spin up a base, make a genesis, and just "go". Juno is a reasonable example of that playing out though I suspect that Juno will retain dominance in unpermissioned and that others will want to be a "flavored base" weather permissioned or not. We can think of osmosis as an app platform that is highly specalized around providing amm pools. It has features written in both cw and go.
Information about downstream consumers has been removed to prevent ambiguity.
The text was updated successfully, but these errors were encountered:
faddat
changed the title
Craft Refactor
Tiny: The craft refactor / template tool
May 20, 2022
Hey guys, so there's been a decision upstream that has pretty deep effects on craft.
antehandler -> middleware -> antehandler
So basically we've got to rework craft and the promise of not breaking api's well, it won't be fulfilled. But that's okay, we won't dwell on that part.
In fact, Craft has become all of Notional's chains, will soon become Dig, and we'd like it to kick off a few hundred, or thousand chains.
Here's some relevant context, but it is fair to say that there are affects across the entire cosmos stack.
cosmos/cosmos-sdk#11979
cosmos/cosmos-sdk#11955
Specifcally, the SDK team has decided to revert to the antehandler pattern from middleware.
Here are the pieces of craft that are affected by this decision:
So, that's to say that we're going to need to do significant rework here, I'd like to say that we need to give ourselves at least two weeks to sort that out, and then return to the previous release cadence.
Since Osmosis is sponsoring the use of craft as a template to be included in the sdk, and because I really want to see live integration tests across cosmos like the one that I made for Gaia that state syncs Gaia with numerous databases, I don't want to significantly change our plan or direction.
Cosmos SDK 46 reached v0.46.0-beta2, and had reached a stage where there were not supposed to be further large api breaking changes. We were actually ahead of schedule with craft, and the SDK itself was ahead of schedule, too (well, ahead of my anticipated schedule, anyhow).
Because of the reversion, some stuff will get easier, and other stuff is going to get harder.
I'd like to circle back here, and really focus in on the templating aspect of the work here:
#108
Yesterday and the day before and today as well I spent a whole lot of time pulling starport out of Juno.
CosmosContracts/juno#207
So, let's run through our next steps, given all of this new information:
We won't do an sdk 45 version of the base, to limit the scope of the work and lower our future technical debt.
So basically, the way that we'll be able to maintain all this code, and help others to maintain their code, is by separating the parts of developing a cosmos chain into two:
1) base
The base will include tendermint, cosmos-sdk, and ibc-go. There will be a cosmwasm flavored base, and a base without cosmwasm.
2) Features
First of all it is notable that if all features are in cosmwasm, you spin up a base, make a genesis, and just "go". Juno is a reasonable example of that playing out though I suspect that Juno will retain dominance in unpermissioned and that others will want to be a "flavored base" weather permissioned or not. We can think of osmosis as an app platform that is highly specalized around providing amm pools. It has features written in both cw and go.
Information about downstream consumers has been removed to prevent ambiguity.
The text was updated successfully, but these errors were encountered: