Skip to content

Commit

Permalink
Finishing touches (#81)
Browse files Browse the repository at this point in the history
* Root repo README

* No privacy policy for now

* Add FAQ content

* ToS: an attempt

* Fixes layout

* Minor

* Add favicon

* Update content.ts

---------

Co-authored-by: Manolis Liolios <[email protected]>
Co-authored-by: stefan-mysten <[email protected]>
Co-authored-by: ronny-mysten <[email protected]>
  • Loading branch information
4 people authored Dec 11, 2024
1 parent 48ec4b4 commit 9d3d4f4
Show file tree
Hide file tree
Showing 10 changed files with 211 additions and 45 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# WARNING
This is a **DEVELOPER PREVIEW** of the Move Registry. It is EXPERIMENTAL and has NO GUARANTEES of uptime or correctness. USE AT YOUR OWN RISK.

# Move Registry
Move Registry is a name registration system for Move packages. You can use an MVR app any time you would previously use a 64-character hex address.

MVR integrates into Sui developer tooling, enabling developers to manage dependencies in a similar manner to NPM or Cargo, but targeted to the needs of Sui builders. By using an MVR app in your PTBs, your PTB will always use the latest version of the package, rather than having to update the address of the package you are calling on-chain.

With MVR, builders can feel secure about which packages they’re actually calling, because their code has human-readable names and not inscrutable series of letters and numbers. MVR is open-source and uses immutable records on Sui as the source of truth. Further, MVR encourages Sui builders to make their packages open-source and easy to integrate into other projects.

In the future, MVR will add features to surface other trust signals to make package selection easier, including auditor reports. Our hope is that MVR becomes the repository of Move packages in the same sense as NPM or Cargo, but built for the decentralized world.

# Using MVR

Currently, there are two main surfaces to use MVR.

* You can use MVR while *building* Move code, to manage your dependencies. For more on this, see mvr-cli/README.md.
* You can use MVR while *calling* Move code in [Programmable Transaction Blocks](https://docs.sui.io/concepts/transactions/prog-txn-blocks). For more on this, see the [Typescript SDK Move Registry plugin](https://github.com/MystenLabs/sui/blob/main/sdk/typescript/src/transactions/plugins/NamedPackagesPlugin.ts).
Binary file removed app/public/favicon.ico
Binary file not shown.
Binary file added app/public/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion app/src/app/faq/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ export default function Faq() {
{FAQContent.items.map((item, index) => (
<AccordionItem key={index} value={item.title + index}>
<AccordionTrigger>{item.title}</AccordionTrigger>
<AccordionContent>{item.content}</AccordionContent>
<AccordionContent >
<div dangerouslySetInnerHTML={{ __html: item.content }} />
</AccordionContent>
</AccordionItem>
))}
</Accordion>
Expand Down
2 changes: 1 addition & 1 deletion app/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { BaseLayout } from "@/components/layouts/BaseLayout";
export const metadata: Metadata = {
title: "Move Registry",
description: "Move Registry (mvr) is the on-chain package registry on Sui!",
icons: [{ rel: "icon", url: "/favicon.ico" }],
icons: [{ rel: "icon", url: "/favicon.png" }],
};

export default function RootLayout({
Expand Down
134 changes: 133 additions & 1 deletion app/src/app/terms/page.tsx

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions app/src/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ const Menu = [
name: "Terms of Use",
href: "/terms",
},
{
name: "Privacy Policy",
href: "/privacy-policy",
},
];
const Social = [
{
Expand Down
69 changes: 33 additions & 36 deletions app/src/data/content.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,52 +94,49 @@ export const FAQContent = {
"We have gathered some of the most frequently asked questions and answers for you. If you have any other questions, feel free to reach out to us.",
items: [
{
title: "What is Lorem Ipsum?",
content: `Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software
like Aldus PageMaker including versions of Lorem Ipsum`,
title: "What is MVR? ",
content: `MVR is a name registration system for Move packages. You can use an MVR app any time you would previously use a 64-character hex address.
<br/>MVR integrates into Sui developer tooling, enabling developers to manage dependencies in a similar manner to NPM or Cargo, but targeted to the needs of Sui builders. <br/>By using an MVR app in your PTBs, your PTB will always use the latest version of the package, rather than having to update the address of the package you are calling on-chain. <br/>With MVR, builders can feel secure about which packages they’re actually calling, because their code has human-readable names and not inscrutable series of letters and numbers. MVR is open-source and uses immutable records on Sui as the source of truth. <br/>Further, MVR encourages Sui builders to make their packages open-source and easy to integrate into other projects. In the future, MVR will add features to surface other trust signals to make package selection easier, including auditor reports. Our hope is that MVR becomes the repository of Move packages in the same sense as NPM or Cargo, but built for the decentralized world.`,
},
{
title: "What is Lorem Ipsum?",
content: `Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software
like Aldus PageMaker including versions of Lorem Ipsum`,
title: "Why would I want to use MVR?",
content: `The first advantage of using MVR is reducing the maintenance burden in your own PTBs. Rather than having to update package addresses and type versions after each upgrade, you can write your PTBs against a logical name for your Move package. Instead of determining the right version for each of your types for each network you want to test on, you can just use MVR. This makes it easier for novice blockchain developers to build on Sui, because it elides the complexity of versions, package addresses, and how these interact across networks. The second advantage of MVR is making it easier to add your package as a dependency, both for yourself and others. MVR handles linking to source packages and also allows transparent switching between Testnet and Mainnet versions of packages when you are building Move code against a different environment.`,
},
{
title: "What is Lorem Ipsum?",
content: `Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software
like Aldus PageMaker including versions of Lorem Ipsum`,
title: "What does MVR stand for?",
content: `Move Registry.`,
},
{
title: "What is Lorem Ipsum?",
content: `Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software
like Aldus PageMaker including versions of Lorem Ipsum`,
title: "How do I register an MVR name?",
content: `First, register a SuiNS name. MVR names are scoped within a SuiNS name. If your SuiNS name is @name (previously name.sui), and you want to create an MVR name called app, the MVR name will be @name/app. Next, upload your Move package on Testnet or Mainnet. Finally, navigate to the MVR frontend and complete the registration flow.`,
},
{
title: "What is Lorem Ipsum?",
content: `Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software
like Aldus PageMaker including versions of Lorem Ipsum`,
title: "What's the difference between apps and packages?",
content: `An MVR app name can point to the latest or any particular version (numbered consecutively from 1) of a package. More than one MVR app can be configured to point to the same package.`,
},
{
title: "What is Lorem Ipsum?",
content: `Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software
like Aldus PageMaker including versions of Lorem Ipsum`,
title: "What metadata is saved under an application?",
content: `An MVR record contains two pieces of important data: The package address on chain, and the source code for Move packages depending on the MVR record's package. This is an off-chain URL (for now) that must, at the time of registration, contain an address field in the Move.toml or Move.lock file`,
},
{
title: "What aspects of MVR records are immutable?",
content: `After an MVR record has been set to point at a particular package, it can only ever point to that package or upgraded versions of that package. This is to prevent bait-and-switch attacks. However, the source code location of the package can be changed at any time.`,
},
{
title: "What are the performance characteristics of using MVR?",
content: `Using MVR in a PTB will incur one lookup request to the MVR indexer or another GraphQL endpoint, per address, per session. Addresses are cached during sessions, and are cleared on page refresh.`
},
{
title: "How much does a MVR name cost?",
content: `MVR records are free. You just need a SuiNS name for them to live under.`,
},
{
title: "How can I get support for MVR?",
content: `See <a href="https://sui.io/developers#support" target="_blank">https://sui.io/developers#support</a>. Quick questions should be asked in Discord or Telegram. To get unblocked on larger issues, consider signing up for Sui Engineering Office Hours.`,
},
{
title: "What happens if the SuiNS name I registered my MVR package with expires?",
content: `Your MVR name will not be impacted as long as it has been made immutable by registering a package on Mainnet. If you have not registered a package, the new SuiNS name owner can re-register your MVR name.`,
}
],
};
21 changes: 21 additions & 0 deletions app/src/styles/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,24 @@
html {
@apply bg-background-dark text-content-primary;
}

#terms {
@apply py-Regular;
}

#terms ol {
@apply list-decimal;
}
#terms ol ol {
@apply list-disc
}

#terms li {
@apply mb-Small ml-Regular;
}
#terms li > strong {
@apply mb-Small;
}
#terms p {
@apply mb-Small;
}

0 comments on commit 9d3d4f4

Please sign in to comment.