Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: wasmd init #23

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

tinaaliakbarpour
Copy link

This is my first try to create a plugin to add wasmd to our chain. I tried to use the placeholders already used in ignite but there were some places where I couldn't find a way to find a placeholder to fit so I used replacement for those parts. you can find these in yaml file provided in the placeholder folder under the sections change and replace. I really appreciate your thoughts about the way I implemented it and also happy to hear new ideas. still working on this repo and trying to create more options like testing and deploying smart contracts. I would really appreciate your suggestions.

@toschdev
Copy link
Contributor

Thanks for the PR. This looks promising. We are testing and reviewing.

@tinaaliakbarpour
Copy link
Author

Hello,
I found a bug in LoadLatestVersion part and resolved it by modifying the code for replacement and implementing regex to fix the issue. I am eager to hear your feedback.

@toschdev
Copy link
Contributor

toschdev commented Nov 28, 2023

You think there's a chance to develop on Ignite CLI nightly (https://github.com/ignite/cli/releases/tag/nightly) with Cosmos SDK v0.50.1 ?

This is freshly released from the Wasm team: https://github.com/CosmWasm/wasmd/tree/v0.50.0

@tinaaliakbarpour
Copy link
Author

Hi, I have examined both the nightly version of ignite and the latest release of wasmd, and it appears that there is a compatibility issue with the new dependency injection solution which utilizes an Uber-like approach. I am currently working on resolving this issue and testing the integration between the two components. I will keep you updated on my progress and welcome any feedback or input you may have. Additionally, I am curious as to why they did not utilize Google's Go Wire solution instead. Thank you

@jeronimoalbi
Copy link
Member

jeronimoalbi commented Feb 2, 2024

Hi, I have examined both the nightly version of ignite and the latest release of wasmd, and it appears that there is a compatibility issue with the new dependency injection solution which utilizes an Uber-like approach.

Thats right, new releases are using depinject so this PR implementation would only be compatible with previous Ignite CLI versions and app chains scaffolded using the original module definitions.

It would be good to finish and merge this PR as originally intended and then in a different PR make the changes to support depinject so the cosmwasm Ignite app would eventually have at least two releases, one for the original module definitions and another for the app chains using depinject 👍

explorer/go.mod Outdated Show resolved Hide resolved
go.work Outdated Show resolved Hide resolved
wasmd/cmd/cmd.go Outdated Show resolved Hide resolved
wasmd/cmd/cmd.go Outdated Show resolved Hide resolved
wasmd/cmd/wasmd.go Outdated Show resolved Hide resolved
wasmd/cmd/wasmd.go Outdated Show resolved Hide resolved
wasmd/cmd/wasmd_sc.go Outdated Show resolved Hide resolved
@tinaaliakbarpour
Copy link
Author

I will try to review and handle these comments as soon as possible and will update the progress here. Thanks!

@tinaaliakbarpour
Copy link
Author

I just pushed my changes and Please let me know what you think about it @jeronimoalbi . if there is anything else let me know.
and for the latest version of wasmd, I am trying to find out what we can do and will update my progress here.
Thanks🙏

@Pantani Pantani removed the request for review from Ehsan-saradar February 16, 2024 23:04
@jeronimoalbi
Copy link
Member

jeronimoalbi commented Mar 4, 2024

@tinaaliakbarpour since the introduction of the marketplace app it's possible for developers to search apps developed by contributors so we are changing Ignite App's README with updates on how to contribute to Ignite Apps.

We are planning to have an apps registry to track and index contributions instead of merging all of them in this repository.

If you want, as a next step, you could create an empty repo for the app in you personal GitHub profile and then make a PR there with the changes you made in this PR. Development could continue there and if you let me know I can follow it and review that PR 👍

Once the first version is finished you could make a PR to be listed in the registry 🚀

I would also recommend to add a comment in this PR that links to your personal wasm app repository (or PR) indicating that development will continue there.

@tinaaliakbarpour
Copy link
Author

Hi @jeronimoalbi. I see that you have implemented the wasm plugin so I don't know how my work could be helpful here. I would appreciate more explanation on that.

@jeronimoalbi
Copy link
Member

jeronimoalbi commented Mar 11, 2024

Hi @jeronimoalbi. I see that you have implemented the wasm plugin so I don't know how my work could be helpful here. I would appreciate more explanation on that.

Yes, there is an newly implemented wasm app but as I remember you wanted to implement features no only for scaffolding but more focused on smart contract development. The new app just scaffold support for wasm. As far as I'm aware, at this point nobody is working on an app focused on smart contract development features. Apart from that you could for example make use of the new ignite/pkg/xast which would help you to modify scaffolded code without using placeholders. You can see examples in ignite/cli#4004.

Another interesting improvement could be to use Bubbletea within your app which might potentially make it more user friendly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants