Skip to main content

Sui环境设置

Fork Sui存储库

贡献给Sui存储库的推荐方式是fork项目,在你的fork上进行更改,然后提交pull请求(PR)。Sui存储库在GitHub上可用:https://github.com/MystenLabs/sui。

创建本地Sui存储库的步骤如下:

  1. 前往GitHub上的Sui存储库

  2. 单击Fork按钮,创建存储库的副本到你的账户中。

    Fork Sui repo

  3. 在GitHub上的你的fork存储库中,点击绿色的Code <>按钮,复制GitHub提供的HTTPS URL。

    Copy URL

  4. 打开系统中你想要保存存储库的位置的终端或控制台。键入git clone ,粘贴你在上一步中复制的URL,然后按Enter

  5. 键入cd sui,将sui设置为活动目录。

你可以在Sui fork上使用任何分支策略。在本地进行更改并推送到你的存储库,根据需要从你的fork向官方Sui存储库提交PR。

tip

确保频繁同步你的fork,以保持其与活跃开发的同步。

通过命令行使用Sui

你可以通过两个官方SDK(TypeScript SDK和Rust SDK)以及使用Sui CLI与Sui网络交互。有关使用Sui CLI的更多详细信息,请参阅安装SuiSui CLI参考。

Move IDE和插件

Move开发的推荐IDE是带有move-analyzer扩展的Visual Studio Code。按照Visual Studio Marketplace的说明安装move-analyzer扩展,然后使用--features标志传递address32并使用分支标志传递sui-move来安装move-analyzer语言服务器:

cargo install --git https://github.com/move-language/move move-analyzer --branch sui-move --features "address32"

查看 Awesome Move 文档中的更多 IDE 选项

在安装了 VS Code 和 move-analyzer 扩展后,查看 Move 代码示例

要在 Sui 上测试或运行 Move 示例,请使用 Sui CLI 中的 sui move 命令。

Sui 仓库和如何贡献

Sui 仓库是一个单体仓库,包含用于构建和运行 Sui 网络的所有源代码,以及本文档。

Sui 单体仓库的根文件夹具有以下顶级文件夹:

  • apps: Contains the source code for the main web applications that Mysten Labs runs, such as the suiexplorer.com or the Sui Wallet.
  • crates: Contains all the Rust crates that are part of the Sui system.
  • dapps: Contains some examples of decentralized applications built on top of Sui, such as Kiosk or Sponsored Transactions.
  • dashboards: Currently empty.
  • doc: Contains deprecated documentation related to Move and Sui.
  • docker: Contains the docker files needed to spin up a node, an indexer, a Full node or other services.
  • docs: Contains this documentation and the source for this site.
  • examples: Contains examples of apps written for Sui and smart contracts written in Move.
  • external-crates: Contains the source code for the Move programming language.
  • kiosk: Contains the source code of the Mysten Labs Kiosk extensions and rules, as well as examples.
  • narwhal: Contains the source code of Narwhal and partially synchronous Bullshark, a DAG-based mempool, and efficient BFT consensus.
  • nre: Contains information about node and network reliability engineering.
  • scripts: Contains a number of scripts that are used internally.
  • sdk: Contains the source code for different tools and SDKs, such as the Sui TypeScript SDK, Kiosk SDK, BCS, zkLogin, dApp kit, and others.
  • sui-execution: Contains the source code responsible for abstracting access to the execution layer.

以下主要目录是探索 Sui 代码库的良好起点:

  • explorer - Browser-based object explorer for the Sui network. See the deployed application here.
  • move - Move VM, compiler, and tools.
  • narwhal - Mempool and consensus.
  • typescript-sdk - the Sui TypeScript SDK.
  • wallet - Chrome extension wallet for Sui.
  • sui - the Sui command line tool.
  • sui-core - Core Sui components.
  • sui-execution - Execution Layer (programmable transactions, execution integration).
  • sui-framework - Move system packages (0x1, 0x2, 0x3, 0xdee9).
  • sui-network - Networking interfaces.
  • sui-node - Validator and Full node software.
  • sui-protocol-config - On-chain system configuration and limits.
  • sui-sdk - The Sui Rust SDK.
  • sui-types - Sui object types, such as coins and gas.

开发分支

Sui 仓库包括四个主要分支:devnettestnetmainnetmain

devnet 分支包含 Sui 的最新稳定版本。如果你希望在 Sui Devnet 上构建或测试,请选择 devnet 分支。如果遇到问题或发现错误,可能已在 main 分支中修复。要提交 PR,请将提交推送到你的 main 分支的分支。

testnet 分支包含运行在 Sui Testnet 网络上的代码。

mainnet 分支包含运行在 Sui Mainnet 网络上的代码。

main 分支包含最近的更改和更新。如果你想要为 Sui 项目做贡献或尝试实验性功能,请使用 main 分支。main 分支可能包含未发布的更改和实验性功能,因此请谨慎使用。

在Awesome Move文档中查看更多IDE选项。

安装VS Code和move-analyzer扩展后,查看Move代码示例。

要在Sui上测试或运行Move示例,使用Sui CLI中的sui move命令。

Sui存储库和贡献方式 Sui存储库是一个单体库,包含用于构建和运行Sui网络以及本文档的所有源代码。

Sui单体库的根文件夹具有以下顶级文件夹:

apps: 包含Mysten Labs运行的主要Web应用程序的源代码,如suiexplorer.com或Sui Wallet。 crates: 包含Sui系统的所有Rust包。 dapps: 包含构建在Sui之上的一些分散应用程序的示例,如Kiosk或Sponsored Transactions。 dashboards: 目前为空。 doc: 包含与Move和Sui相关的弃用文档。 docker: 包含启动节点、索引器、全节点或其他服务所需的docker文件。 docs: 包含本文档和本站点源代码。 examples: 包含为Sui编写的应用程序和Move中的智能合约的示例。