From d6f98952ecb2f289748faf5ee5e0638e0cf95f83 Mon Sep 17 00:00:00 2001 From: Antonio Yang Date: Fri, 15 Nov 2024 09:45:43 +0800 Subject: [PATCH 1/2] Add lint CI, follow awesome format (#29) * Add lint, typo check in CI * Add CONTRIBUTING.md * Add CC0 License * Update Move.vim * Fix double link issues * Fix toc * Add multiple links to child list items for consistency * Fix Suiscan entries and language * Fix confusing uses of "official" * Improve warning message * Add more typical awesome subtitle, and description * Add Sui logo * Fix wording, typo * Fix contribution links and improve wording --------- Co-authored-by: Will Riches --- .github/workflows/ci.yml | 16 +++ CONTRIBUTING.md | 19 +++ LICENSE.txt | 121 +++++++++++++++++ README.md | 284 +++++++++++++++++++-------------------- img/Sui_Symbol_Sea.png | Bin 126987 -> 0 bytes media/logo.svg | 3 + 6 files changed, 296 insertions(+), 147 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.txt delete mode 100644 img/Sui_Symbol_Sea.png create mode 100644 media/logo.svg diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5abd53e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,16 @@ +name: CI +on: + pull_request: +jobs: + Lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Typo Check + uses: crate-ci/typos@master + + - name: Awesome Linter + run: npx awesome-lint diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..772ac84 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# Contributing + +The goal of this repo is to include primarily projects that are stable and useful to many developers. + +## Submission Guidelines + +- For submitting new tools: + - It is preferable to prepare and complete the tool's documentation first at its primary location as we prefer to direct users to the relevant links from within the index page (`README.md`). + - Add your tool's relevant information to the index page (`README.md`). Use a similar format to other tools. + - If you would like to include and link to an image, you can add it under the [`media` folder](./media/), and include it in the same pull request. + - Create a pull request with the changes against the `main` branch. +- For editing existing tracked tools: + - Create a pull request directly with the changes needed against the `main` branch. + +_💡Note_: The `details` folder consists of selected tool's information that have been collected to summarize useful features and resources for the audience. However, this is only included for tools that have a lack of available documentation. Therefore, it is preferable for new and existing project owners to complete their documentation and any relevant materials at the project's primary location so that users can be directed to this information from the index page. However, please feel free to make a PR to update incorrect or outdated information in the `details` folder as it still provides valuable insights in the meantime. + +## Removing projects + +Projects are not removed unless they are outright broken, pronounced deprecated by its author or made redundant by another project. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/README.md b/README.md index d1142c9..7b5a6bc 100644 --- a/README.md +++ b/README.md @@ -1,141 +1,141 @@ # Awesome Sui [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) -Directory tracking developer tools and infrastructure projects within Sui ecosystem. +Sui logo -> ⚠️ prefix means that the tool isn't working properly at the moment. We encourage builders to have further check. +> A curated list of _awesome_ developer tools and infrastructure projects within the Sui ecosystem. -[**Submit your own devtool here**](#submission-guidelines) +Sui is the first blockchain built for internet scale, enabling fast, scalable, and low-latency transactions. It's programmable and composable, powered by the Move language, making it easy to build and integrate dApps. Sui prioritizes developer experience and frictionless user interactions, designed to support next-gen applications with minimal complexity. + +> ⚠️ This warning icon means that the tool may not be functioning correctly at the moment. Please check these tools carefully. + +[**Submit your own developer tool here**](CONTRIBUTING.md) ## Contents -- [Awesome Sui ](#awesome-sui-) - - [Contents](#contents) - - [IDEs](#ides) - - [Web IDEs](#web-ides) - - [Desktop IDEs](#desktop-ides) - - [IDE Utilities](#ide-utilities) - - [Client SDKs \& Libraries](#client-sdks--libraries) - - [Client SDKs](#client-sdks) - - [DeFi SDKs](#defi-sdks) - - [Client Libraries](#client-libraries) - - [dApp Development](#dapp-development) - - [dApp Toolkits](#dapp-toolkits) - - [zkLogin](#zklogin) - - [Misc](#misc) - - [Smart Contract Toolkits](#smart-contract-toolkits) - - [Indexers \& Data Services](#indexers--data-services) - - [Explorers](#explorers) - - [Oracles](#oracles) - - [Security](#security) - - [AI](#ai) - - [Walrus](#walrus) - - [Submission Guidelines](#submission-guidelines) +- [IDEs](#ides) + - [Web IDEs](#web-ides) + - [Desktop IDEs](#desktop-ides) + - [IDE Utilities](#ide-utilities) +- [Client SDKs \& Libraries](#client-sdks--libraries) + - [Client SDKs](#client-sdks) + - [DeFi SDKs](#defi-sdks) + - [Client Libraries](#client-libraries) +- [dApp Development](#dapp-development) + - [dApp Toolkits](#dapp-toolkits) + - [Smart Contract Toolkits](#smart-contract-toolkits) +- [Indexers \& Data Services](#indexers--data-services) +- [Explorers](#explorers) +- [Oracles](#oracles) +- [Security](#security) +- [AI](#ai) +- [Walrus](#walrus) ## IDEs ### Web IDEs -- **BitsLab IDE** - online Move code editor that requires no configuration and supports Move code syntax highlighting, it's beginner-friendly and supports interacting with Sui. - - [Homepage](https://www.bitslab.xyz/bitslabide) | [IDE](https://ide.bitslab.xyz/) | [Tutorial](https://www.youtube.com/watch?v=-9-WkqQwtu8) | [Further Information](details/ide_bitslab.md) -- **MoveStudio** - Online IDE for Sui smart contract development. - - [Homepage](https://www.movestudio.dev/) | [Github](https://github.com/dantheman8300/move-studio) | [IDE](https://www.movestudio.dev/build) | [Further Information](details/ide_movestudio.md) -- **ChainIDE** - Move Cloud-Powered Development Platform. - - [Homepage](https://chainide.com) | [Documentation](https://chainide.gitbook.io/chainide-english-1/ethereum-ide-1/9.-sui-ide) | [IDE](https://chainide.com/s/sui) | [Further Information](details/ide_chainide.md) -- ⚠️ **WELLDONE Code** - Remix IDE plugin supports non-EVM smart contract development including Sui. - - [Homepage](https://docs.welldonestudio.io/code) | [Documentation & Tutorial](https://docs.welldonestudio.io/code/deploy-and-run/sui) | [Further Information](details/ide_welldone_code.md) +- BitsLab IDE - Online Move code editor that requires no configuration and supports Move code syntax highlighting. Beginner friendly and supports interacting with Sui. + - [Homepage](https://www.bitslab.xyz/bitslabide) - [IDE](https://ide.bitslab.xyz/) - [Tutorial](https://www.youtube.com/watch?v=-9-WkqQwtu8) - [Further Information](details/ide_bitslab.md) +- MoveStudio - Online IDE for Sui smart contract development. + - [Homepage](https://www.movestudio.dev/) - [GitHub](https://github.com/dantheman8300/move-studio) - [IDE](https://www.movestudio.dev/build) - [Further Information](details/ide_movestudio.md) +- ChainIDE - Move Cloud-Powered Development Platform. + - [Homepage](https://chainide.com) - [Documentation](https://chainide.gitbook.io/chainide-english-1/ethereum-ide-1/9.-sui-ide) - [IDE](https://chainide.com/s/sui) - [Further Information](details/ide_chainide.md) +- ⚠️ WELLDONE Code - Remix IDE plugin supports non-EVM smart contract development including Sui. + - [Homepage](https://docs.welldonestudio.io/code) - [Documentation & Tutorial](https://docs.welldonestudio.io/code/deploy-and-run/sui) - [Further Information](details/ide_welldone_code.md) ### Desktop IDEs -- **VSCode Move by Mysten Labs** - VSCode Extension supports Move on Sui development with LSP features through Move Analyzer developed by Mysten Labs. - - [Github](https://github.com/MystenLabs/sui/tree/main/external-crates/move/crates/move-analyzer) | [Documentation & Tutorial](https://marketplace.visualstudio.com/items?itemName=mysten.move) | [Further Information](details/ide_vscode_mysten_move_analyzer.md) -- **VSCode Sui Move Analyzer by Movebit** - Alternative VSCode extension developed by Movebit. - - [Homepage](https://movebit.xyz/analyzer) | [Github](https://github.com/movebit/sui-move-analyzer) | [Documentation & Tutorial](https://marketplace.visualstudio.com/items?itemName=MoveBit.sui-move-analyzer) | [Further Information](details/ide_vscode_movebit_sui_move_analyzer.md) -- **IntelliJ Sui Move Language Plugin** - IntelliJ-based plugin for Move on Sui development. - - [Homepage](https://plugins.jetbrains.com/plugin/23301-sui-move-language) | [Github](https://github.com/movefuns/intellij-move) -- [Emacs move-mode](https://github.com/amnn/move-mode) - move-mode is an Emacs major-mode for editing smart contracts written in the Move programming language. -- [Move.vim](https://github.com/tzakian/move.vim) - Syntax highlighting for the Move smart contract programming language. +- VSCode Move by Mysten Labs - VSCode Extension supports Move on Sui development with LSP features through Move Analyzer developed by Mysten Labs. + - [GitHub](https://github.com/MystenLabs/sui/tree/main/external-crates/move/crates/move-analyzer) - [Documentation & Tutorial](https://marketplace.visualstudio.com/items?itemName=mysten.move) - [Further Information](details/ide_vscode_mysten_move_analyzer.md) +- VSCode Sui Move Analyzer by MoveBit - Alternative VSCode extension developed by MoveBit. + - [Homepage](https://movebit.xyz/analyzer) - [GitHub](https://github.com/movebit/sui-move-analyzer) - [Documentation & Tutorial](https://marketplace.visualstudio.com/items?itemName=MoveBit.sui-move-analyzer) - [Further Information](details/ide_vscode_movebit_sui_move_analyzer.md) +- IntelliJ Sui Move Language Plugin - IntelliJ-based plugin for Move on Sui development. + - [Homepage](https://plugins.jetbrains.com/plugin/23301-sui-move-language) - [GitHub](https://github.com/movefuns/intellij-move) +- [Emacs move-mode](https://github.com/amnn/move-mode) - The move-mode package is an Emacs major-mode for editing smart contracts written in the Move programming language. +- [Move.vim](https://github.com/yanganto/move.vim) - Syntax highlighting that supports the Move 2024 edition. ### IDE Utilities -- [Prettier Move Plugin](https://github.com/MystenLabs/sui/tree/main/external-crates/move/crates/move-analyzer/prettier-plugin) - a Move language plugin for the Prettier code formatter -- **Sui Extension** - The Sui extension provides seamless support for compiling, deploying, and testing Sui smart contracts directly within VS Code. - - [Homepage](https://marketplace.visualstudio.com/items?itemName=zktxio.sui-extension) | [Documentation](https://docs.zktx.io/vsce/sui/) -- ⚠️ **Sui Simulator** - VSCode Extension to streamline Sui development workflow with intuitive UI. - - [Homepage](https://marketplace.visualstudio.com/items?itemName=weminal-labs.sui-simulator-vscode) | [Github](https://github.com/Weminal-labs/sui-simulator-vscode) | [Demo](https://www.youtube.com/watch?v=BHRxeF_visM&pp=ygUMd2VtaW5hbCBsYWIg) +- [Prettier Move Plugin](https://github.com/MystenLabs/sui/tree/main/external-crates/move/crates/move-analyzer/prettier-plugin) - A Move language plugin for the Prettier code formatter. +- Sui Extension - The Sui extension provides seamless support for compiling, deploying, and testing Sui smart contracts directly within VS Code. + - [Homepage](https://marketplace.visualstudio.com/items?itemName=zktxio.sui-extension) - [Documentation](https://docs.zktx.io/vsce/sui/) +- ⚠️ Sui Simulator - VSCode Extension to streamline Sui development workflow with intuitive UI. + - [Homepage](https://marketplace.visualstudio.com/items?itemName=weminal-labs.sui-simulator-vscode) - [GitHub](https://github.com/Weminal-labs/sui-simulator-vscode) - [Demo](https://www.youtube.com/watch?v=BHRxeF_visM&pp=ygUMd2VtaW5hbCBsYWIg) - [Tree Sitter Move](https://github.com/tzakian/tree-sitter-move) - Tree Sitter for Move. ## Client SDKs & Libraries ### Client SDKs -- **Sui Typescript SDK (Mysten Labs)** - Typescript modular library of tools for interacting with the Sui blockchain. - - [Github](https://github.com/MystenLabs/sui/tree/main/sdk/typescript) | [Documentation](https://sdk.mystenlabs.com/typescript) | [Further Information](details/sdk_sui_typescript.md) -- **Sui Kit(Scallop)** - Toolkit for interacting with SUI Network in Typescript. - - [Github](https://github.com/scallop-io/sui-kit) | [Further Information](details/sdk_sui_kit_scallop.md) -- **Sui Rust SDK (Mysten Labs)** - Rust SDK to interact with Sui blockchain. - - [Github](https://github.com/MystenLabs/sui/tree/main/crates/sui-sdk) | [Documentation](https://mystenlabs.github.io/sui/sui_sdk/index.html) | [Further Information](details/sdk_sui_rust.md) -- **Pysui** - Python SDK to interact with Sui blockchain. - - [Github](https://github.com/FrankC01/pysui?tab=readme-ov-file)| [Documentation](https://pysui.readthedocs.io/en/latest/index.html) | [Pypi](https://pypi.org/project/pysui/) | [Discord](https://discord.gg/uCGYfY4Ph4) | [Further Information](details/sdk_pysui.md) -- **Sui Go SDK (SuiVision)** - Golang SDK to interact with Sui blockchain. - - [Github](https://github.com/block-vision/sui-go-sdk) | [API Documentation](https://pkg.go.dev/github.com/block-vision/sui-go-sdk) | [Examples](https://github.com/block-vision/sui-go-sdk?tab=readme-ov-file#examples) | [Further Information](details/sdk_sui_go.md) -- **Sui Dart SDK** - Dart SDK to interact with Sui blockchain. - - [Github](https://github.com/mofalabs/sui) | [API documentation](https://pub.dev/documentation/sui/latest/) | [Further Information](details/sdk_sui_dart.md) -- **Sui Kotlin SDK** - Kotlin Multiplatform (KMP) SDK for integrating with the Sui blockchain. - - [Github](https://github.com/mcxross/ksui) | [Further Information](details/sdk_ksui.md) -- **SuiKit (OpenDive)** - Swift SDK natively designed to make developing for the Sui Blockchain easy. - - [Github](https://github.com/opendive/suikit?tab=readme-ov-file) | [Further Information](details/sdk_suikit.md) -- **Sui Unity SDK (OpenDive)** - The OpenDive Sui Unity SDK is the first fully-featured Unity SDK with offline transaction building. - - [Github](https://github.com/OpenDive/Sui-Unity-SDK) | [Further Information](details/sdk_sui_unity_opendive.md) +- Sui TypeScript SDK (Mysten Labs) - TypeScript modular library of tools for interacting with the Sui blockchain. + - [GitHub](https://github.com/MystenLabs/sui/tree/main/sdk/typescript) - [Documentation](https://sdk.mystenlabs.com/typescript) - [Further Information](details/sdk_sui_typescript.md) +- Sui Kit(Scallop) - Toolkit for interacting with the Sui network in TypeScript. + - [GitHub](https://github.com/scallop-io/sui-kit) - [Further Information](details/sdk_sui_kit_scallop.md) +- Sui Rust SDK (Mysten Labs) - Rust SDK to interact with Sui blockchain. + - [GitHub](https://github.com/MystenLabs/sui/tree/main/crates/sui-sdk) - [Documentation](https://mystenlabs.github.io/sui/sui_sdk/index.html) - [Further Information](details/sdk_sui_rust.md) +- Pysui - Python SDK to interact with Sui blockchain. + - [GitHub](https://github.com/FrankC01/pysui?tab=readme-ov-file) - [Documentation](https://pysui.readthedocs.io/en/latest/index.html) - [Pypi](https://pypi.org/project/pysui/) - [Discord](https://discord.gg/uCGYfY4Ph4) - [Further Information](details/sdk_pysui.md) +- Sui Go SDK (SuiVision) - Golang SDK to interact with Sui blockchain. + - [GitHub](https://github.com/block-vision/sui-go-sdk) - [API Documentation](https://pkg.go.dev/github.com/block-vision/sui-go-sdk) - [Examples](https://github.com/block-vision/sui-go-sdk?tab=readme-ov-file#examples) - [Further Information](details/sdk_sui_go.md) +- Sui Dart SDK - Dart SDK to interact with Sui blockchain. + - [GitHub](https://github.com/mofalabs/sui) - [API documentation](https://pub.dev/documentation/sui/latest/) - [Further Information](details/sdk_sui_dart.md) +- Sui Kotlin SDK - Kotlin Multiplatform (KMP) SDK for integrating with the Sui blockchain. + - [GitHub](https://github.com/mcxross/ksui) - [Further Information](details/sdk_ksui.md) +- SuiKit (OpenDive) - Swift SDK natively designed to make developing for the Sui blockchain easy. + - [GitHub](https://github.com/opendive/suikit?tab=readme-ov-file) - [Further Information](details/sdk_suikit.md) +- Sui Unity SDK (OpenDive) - The OpenDive Sui Unity SDK is the first fully-featured Unity SDK with offline transaction building. + - [GitHub](https://github.com/OpenDive/Sui-Unity-SDK) - [Further Information](details/sdk_sui_unity_opendive.md) ### DeFi SDKs -- [NAVI Protocol SDK](https://github.com/naviprotocol/navi-sdk) - The NAVI Typescript SDK Client provides tools for interacting with the Sui blockchain networks, designed for handling transactions, accounts, and smart contracts efficiently. -- [Bucket Protocol SDK](https://github.com/Bucket-Protocol/bucket-protocol-sdk) - The Typescript SDK for interacting with Bucket Protocol. +- [NAVI Protocol SDK](https://github.com/naviprotocol/navi-sdk) - The NAVI TypeScript SDK Client provides tools for interacting with the Sui blockchain networks, designed for handling transactions, accounts, and smart contracts efficiently. +- [Bucket Protocol SDK](https://github.com/Bucket-Protocol/bucket-protocol-sdk) - The TypeScript SDK for interacting with Bucket Protocol. - [Suilend SDK](https://github.com/solendprotocol/suilend-public/tree/production/sdk) - The TypeScript SDK for interacting with the Suilend program published on npm as [`@suilend/sdk`](https://www.npmjs.com/package/@suilend/sdk). -- [Scallop SDK](https://github.com/scallop-io/sui-scallop-sdk) - The Typescript SDK for interacting with the Scallop lending protocol on the Sui network. -- [Cetus CLMM SDK](https://github.com/CetusProtocol/cetus-clmm-sui-sdk) - The official software development kit (SDK) specifically designed for seamless integration with Cetus-CLMM on Sui. -- [Aftermath SDK](https://github.com/AftermathFinance/aftermath-ts-sdk) - The Typescript SDK for interacting with Aftermath Protocol. -- [FlowX SDK](https://github.com/FlowX-Finance/sdk) - FlowX Typescript SDK is an official software development kit that allows developers to interact with FlowX protocols using the Typescript programming language. -- [7k Aggregator SDK](https://github.com/7k-ag/7k-sdk-ts) - The Typescript SDK for interacting with 7k Aggregator protocol. -- [Hop Aggregator SDK](https://docs.hop.ag/hop-sdk) - The Typescript SDK for interacting with Hop Aggregator. +- [Scallop SDK](https://github.com/scallop-io/sui-scallop-sdk) - The TypeScript SDK for interacting with the Scallop lending protocol on the Sui network. +- [Cetus CLMM SDK](https://github.com/CetusProtocol/cetus-clmm-sui-sdk) - The official Cetus SDK specifically designed for seamless integration with Cetus-CLMM on Sui. +- [Aftermath SDK](https://github.com/AftermathFinance/aftermath-ts-sdk) - The TypeScript SDK for interacting with Aftermath Protocol. +- [FlowX SDK](https://github.com/FlowX-Finance/sdk) - The official FlowX TypeScript SDK that allows developers to interact with FlowX protocols using the TypeScript programming language. +- [7k Aggregator SDK](https://github.com/7k-ag/7k-sdk-ts) - The TypeScript SDK for interacting with 7k Aggregator protocol. +- [Hop Aggregator SDK](https://docs.hop.ag/hop-sdk) - The TypeScript SDK for interacting with Hop Aggregator. ### Client Libraries -- [BCS Typescript (Mysten Labs)](https://sdk.mystenlabs.com/bcs) - BCS with Typescript. +- [BCS TypeScript (Mysten Labs)](https://sdk.mystenlabs.com/bcs) - BCS with TypeScript. - [BCS Rust](https://github.com/zefchain/bcs) - BCS with Rust. - [BCS Dart](https://github.com/mofalabs/bcs) - BCS with Dart. -- [BCS Kotlin](https://github.com/mcxross/kotlinx-serialization-bcs) - BCS with Kotlin -- [BCS Swift](https://github.com/OpenDive/SuiKit/tree/main/Sources/SuiKit/Utils/BCS) - BCS with Swift -- [BCS Unity](https://github.com/OpenDive/Sui-Unity-SDK/tree/main/Assets/Sui-Unity-SDK/Code/OpenDive.BCS) - BCS with Unity C# -- [Sui Client Gen (KunaLabs)](https://github.com/kunalabs-io/sui-client-gen/tree/master) - A tool for generating TS SDKs for Sui Move smart contracts. Supports code generation both for source code and on-chain packages with no IDLs or ABIs required. +- [BCS Kotlin](https://github.com/mcxross/kotlinx-serialization-bcs) - BCS with Kotlin. +- [BCS Swift](https://github.com/OpenDive/SuiKit/tree/main/Sources/SuiKit/Utils/BCS) - BCS with Swift. +- [BCS Unity](https://github.com/OpenDive/Sui-Unity-SDK/tree/main/Assets/Sui-Unity-SDK/Code/OpenDive.BCS) - BCS with Unity C#. +- [Sui Client Gen (Kuna Labs)](https://github.com/kunalabs-io/sui-client-gen/tree/master) - A tool for generating TS SDKs for Sui Move smart contracts. Supports code generation both for source code and on-chain packages with no IDLs or ABIs required. - [TypeMove (Sentio)](https://github.com/sentioxyz/typemove/blob/main/packages/sui/Readme.md) - Generate TypeScript bindings for Sui contracts. -- **Sui Wallet Standard (Mysten Labs)** - A suite of standard utilities for implementing wallets and libraries based on the [Wallet Standard](https://github.com/wallet-standard/wallet-standard/). - - [Github](https://github.com/MystenLabs/sui/tree/main/sdk/wallet-standard) | [Documentation](https://docs.sui.io/standards/wallet-standard) -- [CoinMeta (Polymedia)](https://github.com/juzybits/polymedia-coinmeta) - Library for fetching coin metadata for Sui coins +- Sui Wallet Standard (Mysten Labs) - A suite of standard utilities for implementing wallets and libraries based on the [Wallet Standard](https://github.com/wallet-standard/wallet-standard/). + - [GitHub](https://github.com/MystenLabs/sui/tree/main/sdk/wallet-standard) - [Documentation](https://docs.sui.io/standards/wallet-standard) +- [CoinMeta (Polymedia)](https://github.com/juzybits/polymedia-coinmeta) - Library for fetching coin metadata for Sui coins. ## dApp Development ### dApp Toolkits - [@mysten/create-dapp](https://sdk.mystenlabs.com/dapp-kit/create-dapp) - CLI tool that helps you create Sui dApp projects. -- **Sui dApp Kit (Mysten Labs)** - Set of React components, hooks, and utilities to help you build a dApp for the Sui ecosystem. - - [Github](https://github.com/MystenLabs/sui/tree/main/sdk/dapp-kit) | [Documentation](https://sdk.mystenlabs.com/dapp-kit) -- **Sui dApp Starter** - Full-stack boilerplate which lets you scaffold a solid foundation for your Sui project and focus on the business logic of your dapp from day one. - - [Github](https://github.com/kkomelin/sui-dapp-starter?tab=readme-ov-file) | [Documentation](https://sui-dapp-starter.dev/docs/) | [Demo app](https://demo.sui-dapp-starter.dev/) -- **Suiet Wallet Kit** - Suiet wallet kit is an awesome react toolkit for DApps to interact with all the wallets in Sui💧 easily 🥳. - - [Github](https://github.com/suiet/wallet-kit) | [Documentation](https://kit.suiet.app/docs/QuickStart) -- **SmartKit** - React library that allows your dapp to connect to the Sui network in a simple way. - - [Homepage](https://smartkit.vercel.app/) | [Github](https://github.com/heapup-tech/smartkit) +- Sui dApp Kit (Mysten Labs) - Set of React components, hooks, and utilities to help you build a dApp for the Sui ecosystem. + - [GitHub](https://github.com/MystenLabs/sui/tree/main/sdk/dapp-kit) - [Documentation](https://sdk.mystenlabs.com/dapp-kit) +- Sui dApp Starter - Full-stack boilerplate which lets you scaffold a solid foundation for your Sui project and focus on the business logic of your dapp from day one. + - [GitHub](https://github.com/kkomelin/sui-dapp-starter?tab=readme-ov-file) - [Documentation](https://sui-dapp-starter.dev/docs/) - [Demo app](https://demo.sui-dapp-starter.dev/) +- Suiet Wallet Kit - React toolkit for aApps to interact with all wallet types in Sui easily. + - [GitHub](https://github.com/suiet/wallet-kit) - [Documentation](https://kit.suiet.app/docs/QuickStart) +- SmartKit - React library that allows your dapp to connect to the Sui network in a simple way. + - [Homepage](https://smartkit.vercel.app/) - [GitHub](https://github.com/heapup-tech/smartkit) - [Sui Suitcase](https://github.com/juzybits/polymedia-suitcase) - Sui utilities for TypeScript, Node, and React. - [Sui MultiSig Toolkit (Mysten Labs)](https://multisig-toolkit.vercel.app/offline-signer) - Toolkit for transaction signing. - [Sui dApp Scaffold (Bucket Protocol)](https://github.com/Bucket-Protocol/sui-dapp-scaffold-v1) - A frontend scaffold for a decentralized application (dApp) on the Sui blockchain. -- [Wormhole Kit(zktx.io)](https://github.com/zktx-io/wormhole-kit-monorepo) - React library that enables instant integration of Wormhole into your dapp. -- **SuiBase** - Suibase makes it easy to create "workdirs", each defining a distinct development environment targeting a network. - - [Github](https://github.com/chainmovers/suibase) | [Documentation](https://suibase.io/) -- ⚠️ [Obelisk Engine (Beta)](https://obelisk.build/engine/docs) - Framework for ambitious Move applications. It compresses the complexity of building Move apps with a tightly integrated software stack. [Github](https://github.com/0xobelisk/obelisk-engine) -- [Sui Tools](https://sui-tools.vercel.app/ptb-generator) - Scaffolding Typescript PTBs for any on-chain function you might want to invoke. -- [Enoki (MystenLabs)](https://docs.enoki.mystenlabs.com/) - Make zkLogin and Sponsored Transactions more accessible. -- [Sui Gas Pool (MystenLabs)](https://github.com/MystenLabs/sui-gas-pool) - Service that powers sponsored transactions on Sui at scale. +- [Wormhole Kit (zktx.io)](https://github.com/zktx-io/wormhole-kit-monorepo) - React library that enables instant integration of Wormhole into your dapp. +- SuiBase - Suibase makes it easy to create "workdirs", each defining a distinct development environment targeting a network. + - [GitHub](https://github.com/chainmovers/suibase) - [Documentation](https://suibase.io/) +- ⚠️ Obelisk Engine (Beta) - Framework for ambitious Move applications. It compresses the complexity of building Move apps with a tightly integrated software stack. + - [GitHub](https://github.com/0xobelisk/obelisk-engine) - [Documentation](https://obelisk.build/engine/docs) +- [Sui Tools](https://sui-tools.vercel.app/ptb-generator) - Scaffolding TypeScript PTBs for any on-chain function you might want to invoke. +- [Enoki (Mysten Labs)](https://docs.enoki.mystenlabs.com/) - Make zkLogin and Sponsored Transactions more accessible. +- [Sui Gas Pool (Mysten Labs)](https://github.com/MystenLabs/sui-gas-pool) - Service that powers sponsored transactions on Sui at scale. #### zkLogin @@ -146,67 +146,69 @@ Directory tracking developer tools and infrastructure projects within Sui ecosys #### Misc - [`sui-sniffer`](https://www.app.kriya.finance/sui-sniffer/) - Checking security of Sui tokens. -- [RPC Tools (Polymedia)](https://rpcs.polymedia.app/) - A webapp that lets users find the fastest RPC for their location. [Github](https://github.com/juzybits/polymedia-rpcs) +- RPC Tools (Polymedia) - A webapp that lets users find the fastest RPC for their location. + - [GitHub](https://github.com/juzybits/polymedia-rpcs) - [Documentation](https://rpcs.polymedia.app/) - [Polymedia Commando (Polymedia)](https://github.com/juzybits/polymedia-commando) - Sui command line tools to help with Sui airdrops (send coins to many addresses), gather data from different sources (Sui RPCs, Indexer.xyz, Suiscan), and more. - [YubiSui (MystenLabs)](https://github.com/MystenLabs/yubigen) - Create a Sui Wallet inside a yubikey and sign Sui transactions with it. -- [`sui-dapp-kit-theme-creator`](https://sui-dapp-kit-theme-creator.app/) - Build custom Sui dApp Kit themes -- [Minting Server (Mysten Labs)](https://github.com/MystenLabs/minting-server) - A scalable system architecture that can process multiple Sui transactions in parallel using a producer-consumer worker scheme +- [`sui-dapp-kit-theme-creator`](https://sui-dapp-kit-theme-creator.app/) - Build custom Sui dApp Kit themes. +- [Minting Server (Mysten Labs)](https://github.com/MystenLabs/minting-server) - A scalable system architecture that can process multiple Sui transactions in parallel using a producer-consumer worker scheme. - [SuiInfra](https://suinfra.io/) - Provide users and developers with up-to-date recommendations on the ideal RPCs to use for their needs. - [Sui RPC Proxy](https://github.com/SuiSec/sui-rpc-proxy) - Monitor and analyze the network requests made by the Sui wallet application and Sui dApps. ### Smart Contract Toolkits - [Sui CLI](https://docs.sui.io/references/cli) - CLI tool to interact with the Sui network, its features, and the Move programming language. -- [Sentio Debugger](https://docs.sentio.xyz/docs/debugger) - Shows the trace of the transaction [Explorer App](https://app.sentio.xyz/explorer)(mainnet only). +- [Sentio Debugger](https://docs.sentio.xyz/docs/debugger) - Shows the trace of the transaction [Explorer App](https://app.sentio.xyz/explorer) (mainnet only). - [`std::debug`](https://docs.sui.io/guides/developer/first-app/debug#related-links) - Print arbitrary values to the console to help with debugging process. - [Sui Tears 💧 (Interest Protocol)](https://docs.interestprotocol.com/overview/sui-tears) - Open source production ready Sui Move library to increase the productivity of new and experienced developers alike. - [Sui Codec](https://github.com/sui-potatoes/app/tree/main/packages/codec) - Ultimate encoding solution for Sui. - [SuiDouble Metadata](https://github.com/suidouble/suidouble_metadata) - A Sui Move library and a set of tools to store, retrieve, and manage any type of primitive data as chunks in a `vector`. Store any data in the `vector` without dependencies and without any `Struct` defined. - [Move on Sui examples (Mysten Labs)](https://github.com/MystenLabs/sui/tree/main/examples/move) - Examples of Move on Sui applications. -- [SuiGPT Decompiler](https://suigpt.tools/decompile) - Use latest generative AI to convert Move Bytecode back to Source Code. +- [SuiGPT Decompiler](https://suigpt.tools/decompile) - Uses generative AI to convert Move bytecode back to source code. - [Revela](https://revela.verichains.io/) - Decompile Sui smart contracts to recover Move source code. -- [Package Source Code Verification (WELLDONE Studio)](https://twitter.com/suiscanofficial/status/1775931534878621737) - Verify your package source code on [SuiScan](https://suiscan.xyz/mainnet/package-verification) +- Package Source Code Verification - Verify your package source code on Suiscan, powered by WELLDONE Studio and Blockberry. + - [Documentation](https://docs.blockberry.one/docs/contract-verification) - [Form Submission](https://suiscan.xyz/mainnet/package-verification) ## Indexers & Data Services -- **ZettaBlock** - Generate custom GraphQL or REST APIs from SQL queries and incorporate your private off-chain data. - - [Homepage](https://zettablock.com/) | [Docs](https://docs.zettablock.com) | [Pricing](https://zettablock.com/pricing) | [Further Information](details/indexer_zettablock.md) -- **Sentio** - Transform raw indexed data (transactions, events,...) into meaningful queryable data by writing custom processor logic. - - [Homepage](https://www.sentio.xyz/indexer/) | [Documentation](https://docs.sentio.xyz/docs/data-collection) | [Examples](https://github.com/sentioxyz/sentio-processors/tree/main/projects) | [Further Information](details/indexer_sentio.md) -- **BlockVision (SuiVision)** - Provide Sui indexed data for developers through pre-built APIs, such as, Token, NFT, and DeFi,... - - [Homepage](https://suivision.xyz/) | [Documentation](https://docs.blockvision.org/reference/welcome-to-blockvision) -- **BlockBerry (SuiScan)** - The Blockberry Sui API provides endpoints that reveal data about significant entities on the Sui Network. We index useful object metadata, including NFTs, domains, collections, coins, etc. Some data is drawn from third-party providers, particularly market data (coin prices, market cap, etc.). - - [Homepage](https://blockberry.one/) | [Documentation](https://docs.blockberry.one/reference/sui-quickstart) -- **Space And Time (SxT)** - Verifiable compute layer for AI x blockchain. Decentralized data warehouse with sub-second ZK proof. - - [Homepage](https://www.spaceandtime.io/) | [Documentation](https://www.spaceandtime.io/) | [Further Documentation](details/indexer_space_and_time.md) -- **Birdeye Data Services** - Access Crypto Market Data APIs on Sui. - - [Homepage](https://bds.birdeye.so/) | [Blog](https://blog.sui.io/birdeye-data-services-crypto-api-websocket/) | [API Documentation](https://docs.birdeye.so/reference/intro/authentication) -- **Indexer.xyz (behind TradePort)** - The ultimate toolkit for accessing NFT data and integrating trading functionality into your app on Sui. - - [Homepage](https://www.indexer.xyz/) | [API Explorer](https://www.indexer.xyz/api-explorer) | [API Docs](https://tradeport.xyz/docs) +- ZettaBlock - Generate custom GraphQL or REST APIs from SQL queries and incorporate your private off-chain data. + - [Homepage](https://zettablock.com/) - [Docs](https://docs.zettablock.com) - [Pricing](https://zettablock.com/pricing) - [Further Information](details/indexer_zettablock.md) +- Sentio - Transform raw indexed data (transactions, events, etc.) into meaningful queryable data by writing custom processor logic. + - [Homepage](https://www.sentio.xyz/indexer/) - [Documentation](https://docs.sentio.xyz/docs/data-collection) - [Examples](https://github.com/sentioxyz/sentio-processors/tree/main/projects) - [Further Information](details/indexer_sentio.md) +- BlockVision - Provide Sui indexed data for developers through pre-built APIs, such as, Token, NFT, and DeFi, etc. + - [Homepage](https://blockvision.org/) - [Documentation](https://docs.blockvision.org/reference/welcome-to-blockvision) +- BlockBerry (Suiscan) - The Blockberry Sui API provides endpoints that reveal data about significant entities on the Sui Network. It indexes useful object metadata, including NFTs, domains, collections, coins, etc. Some data is drawn from third-party providers, particularly market data (coin prices, market cap, etc.). + - [Homepage](https://blockberry.one/) - [Documentation](https://docs.blockberry.one/reference/sui-quickstart) +- Space And Time (SxT) - Verifiable compute layer for AI x blockchain. Decentralized data warehouse with sub-second ZK proof. + - [Homepage](https://www.spaceandtime.io/) - [Documentation](https://docs.spaceandtime.io/) - [Further Documentation](details/indexer_space_and_time.md) +- Birdeye Data Services - Access Crypto Market Data APIs on Sui. + - [Homepage](https://bds.birdeye.so/) - [Blog](https://blog.sui.io/birdeye-data-services-crypto-api-websocket/) - [API Documentation](https://docs.birdeye.so/reference/intro/authentication) +- Indexer.xyz (behind TradePort) - The ultimate toolkit for accessing NFT data and integrating trading functionality into your app on Sui. + - [Homepage](https://www.indexer.xyz/) - [API Explorer](https://www.indexer.xyz/api-explorer) - [API Docs](https://tradeport.xyz/docs) ## Explorers -- **SuiVision** - Data analytics covering transactions, wallets, staking, and validators. - - [Homepage](https://suivision.xyz/) | [Documentation](https://docs.blockvision.org/reference/integrate-suivision-into-your-dapp) | [Further Information](details/explorer_suivision.md) -- **SuiScan** - Explorer and analytics platform for Sui. - - [Homepage](https://suiscan.xyz/mainnet/home) | [Documentation](https://docs.blockberry.one/reference/welcome-to-blockberry-api) | [Further Information](details/explorer_suiscan.md) -- **OKLink** - Provide fundamental explorer and data APIs on Sui. - - [Homepage](https://www.oklink.com/sui) | [Further Information](details/explorer_oklink.md) -- **Polymedia Explorer** - A fork of the original Sui Explorer. - - [Homepage](https://explorer.polymedia.app) | [Github](https://github.com/juzybits/polymedia-explorer) | [Further Information](details/explorer_polymedia.md) -- **Local Sui Explorer** - Sui Explorer for your localnet maintained by [kkomelin](https://github.com/kkomelin) - - [Github](https://github.com/kkomelin/sui-explorer) | [Further Information](details/explorer_local_sui_explorer.md) -- **Suimon** - Powerful command line tool designed to provide detailed dashboards for monitoring SUI network. - - [Github](https://github.com/bartosian/suimon) | [Further Information](details/explorer_suimon.md) +- SuiVision - Data analytics covering transactions, wallets, staking, and validators. + - [Homepage](https://suivision.xyz/) - [Documentation](https://docs.blockvision.org/reference/integrate-suivision-into-your-dapp) - [Further Information](details/explorer_suivision.md) +- Suiscan - Explorer and analytics platform for Sui. + - [Homepage](https://suiscan.xyz/mainnet/home) - [Documentation](https://docs.blockberry.one/reference/welcome-to-blockberry-api) - [Further Information](details/explorer_suiscan.md) +- OKLink - Provide fundamental explorer and data APIs on Sui. + - [Homepage](https://www.oklink.com/sui) - [Further Information](details/explorer_oklink.md) +- Polymedia Explorer - A fork of the original Sui Explorer. + - [Homepage](https://explorer.polymedia.app) - [GitHub](https://github.com/juzybits/polymedia-explorer) - [Further Information](details/explorer_polymedia.md) +- Local Sui Explorer - Sui Explorer for your localnet maintained by [kkomelin](https://github.com/kkomelin) + - [GitHub](https://github.com/kkomelin/sui-explorer) - [Further Information](details/explorer_local_sui_explorer.md) +- Suimon - Powerful command line tool designed to provide detailed dashboards for monitoring the Sui network. + - [GitHub](https://github.com/bartosian/suimon) - [Further Information](details/explorer_suimon.md) ## Oracles -- **Pyth Network** - Oracle protocol that connects the owners of market data to applications on multiple blockchains including Sui. - - [Homepage](https://www.pyth.network/) | [Documentation](https://docs.pyth.network/home) | [Sui Tutorial](https://docs.pyth.network/price-feeds/use-real-time-data/sui) | [Further Information](details/oracle_pyth.md) -- **Supra Oracles** - Oracle protocol to provide reliable data feed. - - [Homepage](https://supra.com/) | [Sui Tutorial](https://docs.supra.com/docs/developer-tutorials/move) | [Further Information](details/oracle_supra.md) -- **Switchboard** - Data feed customization and management. - - [Documentation](https://docs.switchboard.xyz/docs) | [Further Information](details/oracle_switchboard.md) +- Pyth Network - Oracle protocol that connects the owners of market data to applications on multiple blockchains including Sui. + - [Homepage](https://www.pyth.network/) - [Documentation](https://docs.pyth.network/home) - [Sui Tutorial](https://docs.pyth.network/price-feeds/use-real-time-data/sui) - [Further Information](details/oracle_pyth.md) +- Supra Oracles - Oracle protocol to provide reliable data feed. + - [Homepage](https://supra.com/) - [Sui Tutorial](https://docs.supra.com/docs/developer-tutorials/move) - [Further Information](details/oracle_supra.md) +- Switchboard - Data feed customization and management. + - [Documentation](https://docs.switchboard.xyz/docs) - [Further Information](details/oracle_switchboard.md) ## Security @@ -222,17 +224,5 @@ Directory tracking developer tools and infrastructure projects within Sui ecosys ## Walrus -- **Walrus Sites GA** - Reusable GitHub Action for deploying Walrus Sites - - [Github](https://github.com/zktx-io/walrus-sites-ga) | [Marketplace](https://github.com/marketplace/actions/walrus-sites-ga) | [Examples](https://github.com/zktx-io/walrus-sites-ga-example) | [Further Information](details/walrus_sites_ga.md) - -## Submission Guidelines - -- For submitting new tools: - - We recommend you to prepare and complete the tool's documentation first as we prefer to include all relevant information and official links inline in the index page (README.md). - - Add your tool relevant information to the index page (README.md). - - If you would like to include and link to an image, you can add it under the [`img` folder](./img/), and include it in the same pull request - - Create a pull request with the changes against the `main` branch -- For editing existing tracked tools: - - Create a pull request directly with the changes needed against the `main` branch - -_💡Note_: The `details` folder consists of each tool's information that we have collected to summarize useful features and resources for the audience. However, this act stems from the lack of documentation from that tool. Therefore, we encourage new and existing project owners to complete the documentation and any relevant materials so that we can redirect other users to those information directly in the index file. However, please feel free to make a PR to update incorrect or outdated information in the `details` folder as it still provides valuable insights in the mean time. +- Walrus Sites GA - Reusable GitHub Action for deploying Walrus Sites + - [GitHub](https://github.com/zktx-io/walrus-sites-ga) - [Marketplace](https://github.com/marketplace/actions/walrus-sites-ga) - [Examples](https://github.com/zktx-io/walrus-sites-ga-example) - [Further Information](details/walrus_sites_ga.md) diff --git a/img/Sui_Symbol_Sea.png b/img/Sui_Symbol_Sea.png deleted file mode 100644 index bef9cea3ef03175dad379379844e1ee565e20d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126987 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%0DoS_J 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 BTY&%o diff --git a/media/logo.svg b/media/logo.svg new file mode 100644 index 0000000..e4c31b2 --- /dev/null +++ b/media/logo.svg @@ -0,0 +1,3 @@ + + + From 4de69e8906aab0d2be63287d5d3978c2dc3197bc Mon Sep 17 00:00:00 2001 From: Antonio Yang Date: Sat, 16 Nov 2024 09:08:16 +0800 Subject: [PATCH 2/2] Refine wording (#30) * Change wording --------- Co-authored-by: Will Riches --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7b5a6bc..3f396d6 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ > A curated list of _awesome_ developer tools and infrastructure projects within the Sui ecosystem. -Sui is the first blockchain built for internet scale, enabling fast, scalable, and low-latency transactions. It's programmable and composable, powered by the Move language, making it easy to build and integrate dApps. Sui prioritizes developer experience and frictionless user interactions, designed to support next-gen applications with minimal complexity. +Sui is the first blockchain built for internet scale, enabling fast, scalable, and low-latency transactions. It's programmable and composable, powered by the Move language, making it easy to build and integrate dApps. Sui prioritizes developer experience and frictionless user interactions, designed to support next-gen decentralized applications with minimal complexity. > ⚠️ This warning icon means that the tool may not be functioning correctly at the moment. Please check these tools carefully. @@ -12,7 +12,7 @@ Sui is the first blockchain built for internet scale, enabling fast, scalable, a ## Contents -- [IDEs](#ides) +- [Move IDEs](#move-ides) - [Web IDEs](#web-ides) - [Desktop IDEs](#desktop-ides) - [IDE Utilities](#ide-utilities) @@ -30,7 +30,7 @@ Sui is the first blockchain built for internet scale, enabling fast, scalable, a - [AI](#ai) - [Walrus](#walrus) -## IDEs +## Move IDEs ### Web IDEs