Skip to content

Conversation

@toschdev
Copy link
Contributor

@toschdev toschdev commented Jun 22, 2021

Preview: https://deploy-preview-727--sdk-tutorials.netlify.app/

New tutorial contribution from https://github.com/dgtlntv via @okwme

Maximilian Blazek wrote up these steps, this PR is still a work in progress

  • send tokens with IBC
  • trace the Denom
  • understand how Denoms work
    PR includes updates to .vuepress/config.js to add on-page navigation

@toschdev toschdev self-assigned this Jun 22, 2021
@toschdev toschdev requested a review from barriebyron as a code owner June 22, 2021 16:14
path: transfer/channel-0
```

From this command, you now know that there is an IBC port `transfer` and channel `channel-0`. But to know the IBC light client behind the port and channel, you need to perform another query.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a ha that path defines the port and channel! (where do I learn about this path?)

path: transfer/channel-0


From this command, you now know that there is an IBC port `transfer` and channel `channel-0`. But to know the IBC light client behind the port and channel, you need to perform another query.

Why is it called a light client? Because it is a light client of the _other_ chain, keeping track of its blockhashes. The `ibc channel client-state transfer` command explains the details of the denom path.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Why is it called a light client? Because it is a light client of the _other_ chain, keeping track of its blockhashes. The `ibc channel client-state transfer` command explains the details of the denom path.
Why is the path in IBC called a light client? Because it is a light client of the _other_ chain, keeping track of its blockhashes. The `ibc channel client-state transfer` command explains the details of the denom path.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure what "it" was in the sentence, I think we are describing the path in IBC (guessing here!)

Why is it called a light client? Because it is a light client of the _other_ chain, keeping track of its blockhashes. The `ibc channel client-state transfer` command explains the details of the denom path.

```
gaiad q ibc channel client-state transfer channel-0 --node tcp://localhost:26557

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got lost here too... is line 40 the command and then starting at line 41 is the output?


That's a lot of information, but it doesn't answer the question: how do you know if this IBC client can be relied upon?

* Note the chain ID and the client ID.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure what's going on here, but am very interested to learn and know more. Is the asterisk * on line 101 a way of denoting a subheading? or a way to signal one of a series of things that help us know if the IBC client is trusted?

"height": "70",
"round": 0,
"block_id": {
>>>>>>>>> "hash": "78AD39C7DBB0C28AA1DD4DBF909E8FC37522CAB177484871AB3FBD18B2F165B4", <<<<<<<<<<<<<<<<

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this a merge conflict? or ?? intended

Use cosmos-sdk v0.42.4:
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for some reason I didn't have a cosmos-sdk directory (ouch)

-proto ./proto/ibc/core/channel/v1/query.proto \
-d '{"port_id": "transfer", "channel_id": "channel-0"}' \
localhost:9091 ibc.core.channel.v1.Query/ChannelClientState
{

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

help! I don't know where commands actually end (I need a lot of teaching!)

@barriebyron
Copy link

@toschdev I want to learn more about this content, so perhaps we can all learn together as a team and make this tutorial clear as glass! I checked out the branch and made direct editorial changes, and also provided in-line questions and suggestions. Good start.

@barriebyron barriebyron marked this pull request as draft July 1, 2021 12:58
@barriebyron barriebyron changed the title Adds understanding IBC denom tutorial [WIP] Adds understanding IBC denom tutorial Jul 1, 2021
@toschdev toschdev marked this pull request as ready for review July 8, 2021 21:16
@toschdev toschdev changed the title [WIP] Adds understanding IBC denom tutorial Adds understanding IBC denom tutorial Jul 8, 2021
@toschdev toschdev marked this pull request as draft July 8, 2021 23:32
@toschdev toschdev marked this pull request as ready for review July 14, 2021 00:36
Copy link

@barriebyron barriebyron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@toschdev lots of commits for editorial finesse, only a few substantive suggestions. lmk if you have questions or you want me to commit the suggestions.

KUDOS this is an amazing tutorial!! I understand so much more

Thanks for the review, improving the tutorial by a magnitude 🙏

Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>
@toschdev toschdev merged commit db064bb into master Jul 14, 2021
@toschdev toschdev deleted the explaining-denoms branch July 14, 2021 17:08
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.

3 participants