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

Ilariae/sui workshop #143

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from
Draft

Ilariae/sui workshop #143

wants to merge 23 commits into from

Conversation

ilariae
Copy link
Collaborator

@ilariae ilariae commented Nov 24, 2024

Description

Added tutorial from the sui workshop

Checklist

  • Required - I have added a label to this PR 🏷️
  • Required - I have run my changes through Grammarly
  • If pages have been moved, I have created redirects in the wormhole-mkdocs repo

@ilariae ilariae added the A0 - New Content Pull request contains new content pages label Nov 24, 2024
@ilariae ilariae marked this pull request as draft December 20, 2024 11:36
Copy link
Collaborator

@dawnkelly09 dawnkelly09 left a comment

Choose a reason for hiding this comment

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

This needs some general refactoring before it can be reviewed completely:

  • Check that all headings are title case (I've tagged some but not all of them, please check entire loyalty-app.md file

  • Everything after the Prerequisites section should be pure tutorial:

    • Headings should be action-oriented (start with a verb like "Update the Directory") followed by the steps to complete the action
    • If steps are given names, those should also be action-oriented
  • The step-by-step instructions are missing from some of these sections:

    • When giving terminal commands, tell the user something like "In your terminal, run the following commands" or "Return to your terminal and ...." to help guide them
    • When user needs to edit a file, start with something like "Open the xzy.toml file, delete the default content, and add the following code to ..."

    There is too much informational content mixed in once the user starts following the steps. If we don't have a separate "Learn" page for this conceptual stuff, let's work on moving it into an Overview section where we package it like "things you should know before starting" or similar.

    Let's start by addressing these items and then I'll be happy to review again. Thank you!

- 'Transfer Tokens via Portal Bridge': 'portal-bridge.md'
- 'Build a loyalty app with message transfers': 'loyalty-app.md'
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
- 'Build a loyalty app with message transfers': 'loyalty-app.md'
- 'Build a Loyalty App with Message Transfers': 'loyalty-app.md'

@@ -0,0 +1,981 @@
---
title: Build a loyalty app with message transfers
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
title: Build a loyalty app with message transfers
title: Build a Loyalty App with Message Transfers

description: Build a loyalty app that connects across networks, enabling seamless message transfers and unlocking unique user engagement opportunities.
---

# Build a loyalty app with message transfers
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Build a loyalty app with message transfers
# Build a Loyalty App with Message Transfers

- Chains can inquire about a user’s available points
- Sui can notify all chains about user points

### Data handling
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
### Data handling
### Data Handling


## Build the Loyalty App

### Set-up your project
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
### Set-up your project
### Set-up Your Project

### Key Wormhole modules in use

Wormhole’s Move modules provide the core functionality for handling cross-chain messages. Two key modules are essential for this process: `vaa.move`, which is used to verify and extract information from incoming messages, and `publish_message.move`, which facilitates sending messages from Sui to other chains.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This first paragraph is good. The rest of the section should be in a conceptual or learn section as it's a lot of informative text for a tutorial (rather than text describing actions to take). For a tutorial, we want to minimize information that isn't needed to complete the task or goal.

Copy link
Collaborator

Choose a reason for hiding this comment

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

If we don't have a separate informational page for this topic, then all of this background information could go into sub-sections under the Introduction (similar to how you have the Data Handling section), where you introduce any conceptual stuff they need to know before they get started. I would like to see as much of the explaining come out of the step-by-step sections as we can


These modules together enable effective management of incoming and outgoing messages in cross-chain applications. The `vaa.move` module ensures that messages from other chains are verified and processed securely, while `publish_message.move` handles the seamless emission of messages from Sui to the Wormhole network.

## Implement the loyalty contract
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
## Implement the loyalty contract
## Implement the Loyalty Contract


## Implement the loyalty contract

### Set-up
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
### Set-up
### Setup the Project


### Set-up

1. **Project structure and module naming**
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
1. **Project structure and module naming**
Follow these steps to setup your loyalty app project:
1. **Project structure and module naming**

Copy link
Collaborator

Choose a reason for hiding this comment

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

"1. Project structure and module naming"

This should be refactored so the above heading can be written as an action. For example, this could be "1. Rename module" with the steps to follow to achieve that. Any extra info can be a note/tip/warning or moved up to the Intro as mentioned above.

!!!note
The `has key` attribute ensures that the struct can be stored on-chain as an object.

### Define functions
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
### Define functions
### Define Functions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A0 - New Content Pull request contains new content pages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants