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:
Using Manuscript-GUI
Using Manuscript-CLI
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.
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.
Install Manuscript-GUI
Navigate to the GUI
cd $HOME/manuscript-gui

Configure Source
Select chain:
suiDataset:
sui_transactions
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, modulePreview & Deploy
Press
rto preview the data

Press
dto deploy locally

Monitor & Query
Check job status via Flink Web UI

Query results via GraphQL Web UI

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.

