Cover photo

How to Access Sui Blockchain Data with Manuscript-GUI

Introduction

The Sui blockchain is built for high throughput, fast finality, and dynamic on-chain assets, making it an exciting playground for developers and analysts alike. Whether you're tracking smart contract activity or analyzing transactions, having access to raw blockchain data is essential.

Chainbase provides powerful tools to help you access and analyze blockchain data easily. Whether you're building DeFi platforms, tracking NFT transactions, or exploring smart contract activity, having easy access to Sui data is crucial. In this series, we’re exploring three effective methods to query MoveCall transactions on Sui:

  1. Using Manuscript-GUI

  2. Using Manuscript-CLI

  3. Using Chainbase DataCloud

This article covers the first method — a visual approach using Manuscript-GUI, ideal for users who prefer a no-code or low-code interface to set up and run ETL pipelines.

Using Manuscript-GUI

Manuscript is a powerful ETL (Extract, Transform, Load) framework designed to simplify blockchain data workflows. Here’s how to use its GUI to extract MoveCall transactions from Sui.

Steps:

  1. Install Manuscript-GUI

  2. Navigate to the GUI

    cd $HOME/manuscript-gui
    
post image
  1. Configure Source

    Select chain: sui

    Dataset: sui_transactions

    post image
  2. Edit manuscript.yaml
    Define your job and SQL transform logic to extract relevant data:

    name: sui_move_call
    specVersion: v0.1.0
    parallelism: 1
    sources:
      - name: sui_transactions
        type: dataset
        dataset: sui.sui_transactions
        parallelism: 10
    transforms:
      - name: sui_move_call_transform
        sql: >
           select  checkpoint_timestamp,  checkpoint,  transaction_digest,  transaction,  CAST( JSON_VALUE( transaction, '$.MoveCall.function' ) AS STRING ) as `function`,  CAST( JSON_VALUE( transaction, '$.MoveCall.module' ) AS STRING ) as `module`,  CAST( JSON_VALUE( transaction, '$.MoveCall.package' ) AS STRING ) as `package`, transactions from  ( select  transaction_digest,  checkpoint_timestamp,  checkpoint,  transaction, transactions from  ( select  transaction_digest,  TO_TIMESTAMP( FROM_UNIXTIME( CAST( JSON_VALUE(raw_data, '$.timestampMs') as BIGINT ) / 1000 ) ) as checkpoint_timestamp,  CAST( JSON_VALUE(raw_data, '$.checkpoint') AS BIGINT ) as checkpoint,  FROM_JSON ( JSON_QUERY( raw_data, '$.transaction.data.transaction.transactions' ),  'Array<String>' ) as transactions_arr,  raw_data AS transactions  from  sui_transactions  where  raw_data like '%MoveCall%' ) as tt CROSS  JOIN UNNEST (transactions_arr) as t (transaction) ) as ttt
    sinks:
      - name: sui_move_call_sink
        type: postgres
        table: move_calls
        primary_key: checkpoint_timestamp, checkpoint, transaction_digest, module
    
    
  3. Preview & Deploy

    • Press r to preview the data

    post image
    • Press d to deploy locally

    post image
  4. Monitor & Query

    • Check job status via Flink Web UI

    post image
    • Query results via GraphQL Web UI

    post image

video

Play Video

Conclusion

Manuscript-GUI is perfect for those who want to access Sui data quickly and visually. Without writing code, you can configure your pipeline, preview results, and deploy to fetch MoveCall transactions. For analysts or teams who value speed and ease of use, this method is a great starting point on your Chainbase + Sui data journey.