- 
                Notifications
    You must be signed in to change notification settings 
- Fork 570
feat: scaffold IBC module and IBC packets #731
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
Conversation
| I was thinking first of having a first PR with only one generated packet and, afterward, implement packet creation with Starport with a command but actually, it would involve having placeholders that would be then replaced. It's better to atomically push the packet creation command with the whole IBC module creation feature. It would be a command that takes the data that compose the packet and generate everything for sending the packet in a method  Ideas for the format of the command? Since a packet is a type, I am thinking we could transform the  Therefore we could have: Any opinion on this @fadeev @ilgooz @clockworkgr ? | 
| I propose  The general idea is that we add features trying not to modify the existing command set of Starport. Once we get closer to 1.0 and we understand exactly the functionality that Starport will provide, we'll reorganize commands into a better system in a single release. | 
| I agree we should avoid changing the design of the command whenever possible. One another simple example is about scaffolding a type without CRUD operations, where you simply have the keeper methods to set the type, delete, etc. but not the generated transactions. For me it is not intuitive that  If we consider IBC packets should not be linked to this namespace I'm ok with this. Although I would consider directly allocating a new namespace for every IBC related commands in the future  | 
| Right now we're adding packets to the same  I would also add underscore in  | 
| I got inspired by the structure of  | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work Lucas!
Co-authored-by: İlker G. Öztürk <ilkergoktugozturk@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is seriously cool! Can't wait to have "hello world" for IBC 🛰
starport module create <module-name> --ibccreates a module with standard placeholders to implement an IBC moduleOptional flag
--ibc-ordering [none|ordered|unorderedselects the ordering of the channelsstarport ibc packet <module-name> <packet-name> field1 field2...creates for the module a packet that can be send over IBC with custom dataThis packet generates a new tx:
appd tx <module-name> send-<packet-name> [src-port] [src-channel] field1 ...that allows to send the packet to a channel(This tx generation will be optional in the future since sometimes packet emission can sometimes be triggered by on-chain logic)
Everything is generated for the developer, this only thing left for them to customize:
To fix: