IoTex & TheGraph Integration

About IoTeX

The IoTeX Layer 1 blockchain, live since 2019, is second fastest EVM-compatible chain & sixth fastest blockchain overall with 1,000 TPS and 5-second block time with instant finality. The L1 utilizes Roll-DPoS consensus (Randomized Delegated Proof-of-Stake), where community-voted Delegates manage consensus on behalf of the IoTeX Network. As of Q3 2024, there are 100+ delegates, 3.6B+ $IOTX staked, 111M+ transactions, & 100% uptime.

Contact Information

:wave: My name is Giuseppe, I’m part of the DevRel team. I’ll be working closely with our Head of DevRel Simone, and our core dev, Dustin, who leads our Layer1 development efforts, and is also overseeing the IoTeX chain integration with The Graph. We’ll be in charge of developing and testing the integration.

Graph Node integration

IoTeX is an EVM-compliant blockchain. Users can deploy the same contract bytecode and send transactions as they do on Ethereum. IoTeX blockchain also supports the web3.js protocol so that users can interact with our blockchain, query on-chain transactions and initiate transactions using the web3.js protocol. We have recently implemented the archive-mode fullnode, which retains the full and complete history of the entire blockchain. The archive-mode can support the following functions:

:white_check_mark: Query the on-chain account information and contract status/storage at any block height;
:white_check_mark: Debug API that allows users to replay/run a transaction at any given height on the blockchain: debug_traceCall, debug_traceTransaction, debug_traceBlockByNumber, and debug_traceBlockByHash
As far as our understanding, the archive-mode fullnode API suffices integration with Graph node.

Integration with Subgraph Studio or alternatives

We have set up a dedicated API endpoint solely for graph team’s access. The URL is provided to the graph team on a separate channel (and not published here).
Also, per graph team’s request, we have implemented a separate API for querying the contract ABI and creation information (block height, transaction hash, and deployer), and provided that to the graph team.

Indexer Documentation

At the moment, we are running/maintaining the archive-mode fullnode in-house. It will take some time for us to automate (and dockerize) the deployment process.

Hello @GiupiDeLuca ! Thank you so much for applying to our forum! We’d love to look at your archive node documentation once you have it available, as that will be key in enabling us to begin testing for full protocol support. Our Indexers will be syncing archive nodes using both Docker and bare metal.

Thank you again and please keep us updated!