Sui Explorer now incorporates a source code view for Sui framework packages, which has been a widely requested feature. This new Source Verified tab sits alongside the existing Bytecode tab, letting developers click to view source code for the following packages:

Sui Explorer screen shot showing source code feature
The Source Verified tab in Sui Explorer shows source code for specific framework packages.

This new feature lets Sui developers easily find, read, understand, and share Move code to ease development or auditing. For supported packages, developers no longer need to track down the specific repositories or branches that correspond to published on-chain bytecode. Simply look up the source, including docstrings, for modules in Sui explorer.

Verifying the source code

This new feature verifies that it is displaying the correct and up-to-date source code for a published package through a backend service which checks that the reference source code compiles to the same bytecode on-chain. That is, the service verifies that compiling the source code locally yields the exact same bytecode. 

flow digram showing system architecture
This feature ensures accurate source code by compiling it and comparing its bytecode to the on-chain bytecode.

The system works by cloning a well-known source repository with published packages (1) and downloading the corresponding on-chain bytecode for the published packages as specified in the source repository (2). The service compiles the source code and verifies that it matches the bytecode (3). If the compiled source code matches, Sui Explorer displays the source code when requested (4). When a source repository is updated for a tracked branch, the process effectively repeats, and the server updates tracked branches at a steady cadence.

This system does not derive or decompile source code from on-chain bytecode, instead expecting an existing repository containing a reference implementation to verify against.

More packages to come

In this first phase, the feature supports source display for a handful of well-known packages (0x1, 0x2, 0x3, 0xdee9), and will support more in the future. Developers interested in contributing their own reference source code can take a look at the configuration file and consider making a pull request to track and display their Move code in Sui Explorer.

Author

Sam Blackshear

Co-Founder, CTO, Mysten Labs, Creator of Move Language

CTO of Mysten Labs and inventor of Move language. Former Principal Engineer at Meta.

Read more like this

How Settlement Time and Composability Help DeFi Flourish on Sui

Sui offers short settlement times and broad composability, supporting the construction of better DeFi products.

4min read
Sui Foundation

Eleven Teams Receive an Aggregate of Almost $1M USD in Grants

The Sui Foundation is proud to announce the recipients of our third round of grants to projects that contribute to the Sui ecosystem.

2min read
Sui Foundation

Recap 6/23 Sui AMA: Tokenomics with Alonso de Gortari

This recap covers an AMA on Sui tokenomics with Alonso De Gortari.

25min read
Sui Foundation

All About Move Versus Sui Move

The Sui Move programming language differs in fundamental ways from Move, most importantly in its object-centric data storage model.

2min read
Sam Blackshear

Sui's Most Popular Projects of 2024

Sui's top projects of 2024, selected from metrics and community voting, represent a gamut of infrastructure and DeFi options.

6min read
Sui Foundation

$285K USD Awarded to Sui x KuCoin Labs Hackathon Winners

Shortlisted teams presented their projects during the Sui Builder House in Paris

2min read
Sui Foundation