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

Backpack Exchange and Wallet to Integrate Sui

Leading exchange and wallet Backpack chooses Sui’s high-performance blockchain as its next integration.

1min read
Sui Foundation

All About Zero Knowledge Proofs

Zero Knowledge Proofs enable trusted transactions while ensuring data privacy for transacting parties.

2min read
Kostas Chalkias

Create and Execute PTBs on Sui with the Sui CLI

The new CLI command streamlines programming on Sui for those who prefer the terminal and Bash scripts.

9min read
Mysten Labs

Build Beyond: Security at the Forefront

A conversation with Deputy CISO of Mysten Labs Christian Thompson on developing the best defenses for a blockchain ecosystem

6min read
Sui Foundation

Ambrus Boosts Sui Game Developers with Ludus

Ludus serves game developers as a Sui publishing platform and players, giving them a dashboard to access their favorite games from a single interface.

1min read
Sui Foundation

Mech Shooter Dark Machine Embraces Sui Technologies

Leveraging technology such as dynamic NFTs, Dark Machine creates a unique player experience.

1min read
Sui Foundation