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: sui
Dataset: 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, module
Preview & Deploy
Press r
to preview the data
Press d
to 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.
Over 5k subscribers