Skip to content

Add: gold standard checklist #64

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

Merged
merged 8 commits into from
Jun 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions docs/developers/gold-standard.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: Gold standard checklist
description: Use this checklist to ensure a successful integration for deploying your dApp on Ronin.
---

## Introduction

The Gold Standard Checklist serves as a guide for developers looking to align their projects with the expectations of the Ronin Ecosystem team. It outlines key requirements and milestones that, when met, increase a project's chances of gaining visibility, securing product showcases, and qualifying for grants. By following this checklist, developers can ensure their projects meet the highest standards of quality, security, and ecosystem compatibility.

## dApp directory

To ensure your project is visible to the Ronin Ecosystem team, make sure to add your project to our [dApp directory on Github](https://github.com/ronin-chain/dapp-directory).
This is the first and most important step toward getting noticed.
The directory helps us track new projects, evaluate submissions for showcases or grants, and connect with builders early on.

## <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="headerIcon"><path fillRule="evenodd" d="M12.516 2.17a.75.75 0 0 0-1.032 0 11.209 11.209 0 0 1-7.877 3.08.75.75 0 0 0-.722.515A12.74 12.74 0 0 0 2.25 9.75c0 5.942 4.064 10.933 9.563 12.348a.749.749 0 0 0 .374 0c5.499-1.415 9.563-6.406 9.563-12.348 0-1.39-.223-2.73-.635-3.985a.75.75 0 0 0-.722-.516l-.143.001c-2.996 0-5.717-1.17-7.734-3.08Zm3.094 8.016a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z" clipRule="evenodd" /></svg> Security

<ul className="list-none">
<li>**Smart Contracts**</li>
<li><input type="checkbox" /> Use battle-tested libraries like OpenZeppelin for secure contract implementations.</li>
<li><input type="checkbox" /> Use `reentrancyGuard` or equivalent mechanisms to prevent reentrancy attacks.</li>
<li><input type="checkbox" /> Restrict privileged functions using `onlyOwner` or role-based access control.</li>
<li><input type="checkbox" /> If using proxy patterns, ensure upgradeability mechanisms are well-secured.</li>
<li><input type="checkbox" /> Run unit tests, property-based tests, and get third-party audits before deployment.</li>
<li><input type="checkbox" /> Protect admin functions with multi-signature wallets and time delays.</li>
<li><input type="checkbox" /> Follow operational security practices by using a separate deployer address for the mainnet deployment.</li>
<li><input type="checkbox" /> Verify deployed contracts on testnet and mainnet.</li>
</ul>

<ul className="list-none">
<li>**dApps**</li>
<li><input type="checkbox" /> Sanitize all user inputs and escape outputs to prevent malicious injections to protect against Cross-Site Scripting (XSS).</li>
<li><input type="checkbox" /> Use Content Security Policies (CSP).</li>
<li><input type="checkbox" /> Use CSRF tokens for API endpoints handling sensitive operations.</li>
<li><input type="checkbox" /> Validate Blockchain Data Properly. Do not trust user-provided data. Always fetch and verify on-chain data directly.</li>
<li><input type="checkbox" /> Use [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) for signed messages and always display clear signing prompts to users.</li>
<li><input type="checkbox" /> Regularly audit and update third-party packages to patch vulnerabilities.</li>
</ul>

## <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="headerIcon"><path d="M4.5 6.375a4.125 4.125 0 1 1 8.25 0 4.125 4.125 0 0 1-8.25 0ZM14.25 8.625a3.375 3.375 0 1 1 6.75 0 3.375 3.375 0 0 1-6.75 0ZM1.5 19.125a7.125 7.125 0 0 1 14.25 0v.003l-.001.119a.75.75 0 0 1-.363.63 13.067 13.067 0 0 1-6.761 1.873c-2.472 0-4.786-.684-6.76-1.873a.75.75 0 0 1-.364-.63l-.001-.122ZM17.25 19.128l-.001.144a2.25 2.25 0 0 1-.233.96 10.088 10.088 0 0 0 5.06-1.01.75.75 0 0 0 .42-.643 4.875 4.875 0 0 0-6.957-4.611 8.586 8.586 0 0 1 1.71 5.157v.003Z" /></svg> User experience

<ul className="list-none">
<li><input type="checkbox" /> Ensure smooth user onboarding by integrating [Ronin Waypoint](https://www.roninchain.com/waypoint) for account creation and sign-in.</li>
<li><input type="checkbox" /> Support [Ronin Wallet](https://wallet.roninchain.com) for all blockchain-specific interactions.</li>
<li><input type="checkbox" /> Allow users to explore key app features without requiring immediate wallet connection.</li>
<li><input type="checkbox" /> Add [Ronin Name Service (RNS)](https://docs.skymavis.com/ronin/rns) support.</li>
<li><input type="checkbox" /> Optimize UX for both desktop and mobile.</li>
<li><input type="checkbox" /> Provide clear error messages and recovery options for failed transactions or interactions.</li>
<li><input type="checkbox" /> Clearly outline how user data is handled and ensure compliance with best privacy practices.</li>
</ul>

## <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="headerIcon"><path d="M11.644 1.59a.75.75 0 0 1 .712 0l9.75 5.25a.75.75 0 0 1 0 1.32l-9.75 5.25a.75.75 0 0 1-.712 0l-9.75-5.25a.75.75 0 0 1 0-1.32l9.75-5.25Z" /><path d="m3.265 10.602 7.668 4.129a2.25 2.25 0 0 0 2.134 0l7.668-4.13 1.37.739a.75.75 0 0 1 0 1.32l-9.75 5.25a.75.75 0 0 1-.71 0l-9.75-5.25a.75.75 0 0 1 0-1.32l1.37-.738Z" /><path d="m10.933 19.231-7.668-4.13-1.37.739a.75.75 0 0 0 0 1.32l9.75 5.25c.221.12.489.12.71 0l9.75-5.25a.75.75 0 0 0 0-1.32l-1.37-.738-7.668 4.13a2.25 2.25 0 0 1-2.134-.001Z" /></svg> Scalability

<ul className="list-none">
<li><input type="checkbox" /> Design contracts with modular architecture to allow upgrades while maintaining efficiency.</li>
<li><input type="checkbox" /> Offload heavy computation, indexing, and RPC requests to [trusted service providers](/developers/tools/node-providers).</li>
<li><input type="checkbox" /> Use load balancers to distribute traffic efficiently.</li>
<li><input type="checkbox" /> Load images, scripts, and stylesheets from a CDN to improve speed.</li>
<li><input type="checkbox" /> Load test your app for high traffic scenarios to identify bottlenecks and optimize performance.</li>
</ul>

## <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="headerIcon"><path d="M4.913 2.658c2.075-.27 4.19-.408 6.337-.408 2.147 0 4.262.139 6.337.408 1.922.25 3.291 1.861 3.405 3.727a4.403 4.403 0 0 0-1.032-.211 50.89 50.89 0 0 0-8.42 0c-2.358.196-4.04 2.19-4.04 4.434v4.286a4.47 4.47 0 0 0 2.433 3.984L7.28 21.53A.75.75 0 0 1 6 21v-4.03a48.527 48.527 0 0 1-1.087-.128C2.905 16.58 1.5 14.833 1.5 12.862V6.638c0-1.97 1.405-3.718 3.413-3.979Z" /><path d="M15.75 7.5c-1.376 0-2.739.057-4.086.169C10.124 7.797 9 9.103 9 10.609v4.285c0 1.507 1.128 2.814 2.67 2.94 1.243.102 2.5.157 3.768.165l2.782 2.781a.75.75 0 0 0 1.28-.53v-2.39l.33-.026c1.542-.125 2.67-1.433 2.67-2.94v-4.286c0-1.505-1.125-2.811-2.664-2.94A49.392 49.392 0 0 0 15.75 7.5Z" /></svg> Social & community engagement

<ul className="list-none">
<li><input type="checkbox" /> Maintain an active presence on [Twitter/X](https://x.com/) to share updates and engage the community.</li>
<li><input type="checkbox" /> Create a [Discord](https://discord.com/) server for real-time discussions, support, and community building.</li>
<li><input type="checkbox" /> Join the [Ronin Discord](https://discord.com/invite/roninnetwork) server and the [Ronin Builders Discord](https://discord.com/invite/uPBzMqYJWe) server to engage with the whole Ronin community.</li>
<li><input type="checkbox" /> Share regular updates, milestones, and roadmap changes with the community.</li>
<li><input type="checkbox" /> Build partnerships and integrations with other ecosystem projects.</li>
</ul>

## <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="headerIcon"><path fillRule="evenodd" d="M9 4.5a.75.75 0 0 1 .721.544l.813 2.846a3.75 3.75 0 0 0 2.576 2.576l2.846.813a.75.75 0 0 1 0 1.442l-2.846.813a3.75 3.75 0 0 0-2.576 2.576l-.813 2.846a.75.75 0 0 1-1.442 0l-.813-2.846a3.75 3.75 0 0 0-2.576-2.576l-2.846-.813a.75.75 0 0 1 0-1.442l2.846-.813A3.75 3.75 0 0 0 7.466 7.89l.813-2.846A.75.75 0 0 1 9 4.5ZM18 1.5a.75.75 0 0 1 .728.568l.258 1.036c.236.94.97 1.674 1.91 1.91l1.036.258a.75.75 0 0 1 0 1.456l-1.036.258c-.94.236-1.674.97-1.91 1.91l-.258 1.036a.75.75 0 0 1-1.456 0l-.258-1.036a2.625 2.625 0 0 0-1.91-1.91l-1.036-.258a.75.75 0 0 1 0-1.456l1.036-.258a2.625 2.625 0 0 0 1.91-1.91l.258-1.036A.75.75 0 0 1 18 1.5ZM16.5 15a.75.75 0 0 1 .712.513l.394 1.183c.15.447.5.799.948.948l1.183.395a.75.75 0 0 1 0 1.422l-1.183.395c-.447.15-.799.5-.948.948l-.395 1.183a.75.75 0 0 1-1.422 0l-.395-1.183a1.5 1.5 0 0 0-.948-.948l-1.183-.395a.75.75 0 0 1 0-1.422l1.183-.395c.447-.15.799-.5.948-.948l.395-1.183A.75.75 0 0 1 16.5 15Z" clipRule="evenodd" /></svg> Nice to have

<ul className="list-none">
<li><input type="checkbox" /> Implement support for the [delegate.xyz](https://delegate.xyz/) registry on Ronin to enhance delegation capabilities.</li>
<li><input type="checkbox" /> Enable wallet connection with support for the SAFE Core SDK to facilitate seamless integration with the Ronin Multisig.</li>
<li><input type="checkbox" /> Provide full support for the [Saigon Testnet](https://saigon-app.roninchain.com), allowing developers and users to test products in a controlled environment.</li>
<li><input type="checkbox" /> Expand accessibility by offering language options for a global audience.</li>
</ul>
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@ const sidebars = {
"developers/quickstart/list-collection",
]
},
"developers/gold-standard",
{
type: "category",
label: "Node setup",
Expand Down
19 changes: 19 additions & 0 deletions src/css/custom.scss
Original file line number Diff line number Diff line change
Expand Up @@ -159,4 +159,23 @@ body {

.ftContainer h2{
margin-top: 24px;
}

.list-none{
list-style-type: none;
}

.headerIcon{
margin-right: 4px;
width: 32px;
height: 32px;
}

.table-of-contents .headerIcon{
display: none;
}

h2{
display: flex;
align-items: center;
}