CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-web3

A Python library for interacting with Ethereum blockchain

Overall
score

88%

Evaluation88%

1.01x

Agent success when using this tile

Overview
Eval results
Files

rubric.jsonevals/scenario-5/

{
  "context": "This evaluation assesses how well the engineer uses web3.py to query Ethereum node synchronization status. The focus is on correct usage of the Web3 provider connection, the eth.syncing property/method, and proper handling of different sync status return types.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Web3 instantiation",
      "description": "Creates a Web3 instance using appropriate provider (e.g., Web3.HTTPProvider, Web3(Web3.HTTPProvider(provider_uri)), or Web3(HTTPProvider(provider_uri)))",
      "max_score": 15
    },
    {
      "name": "Query sync status",
      "description": "Calls web3.eth.syncing or web3.eth.get_syncing() to retrieve the node's synchronization status",
      "max_score": 25
    },
    {
      "name": "Handle False response",
      "description": "Correctly handles the case where eth.syncing returns False (indicating the node is fully synchronized)",
      "max_score": 15
    },
    {
      "name": "Handle sync data",
      "description": "Correctly processes sync data dictionary containing startingBlock, currentBlock, and highestBlock when node is syncing",
      "max_score": 20
    },
    {
      "name": "Exception handling",
      "description": "Implements try-except to catch connection errors or exceptions (e.g., requests.exceptions.ConnectionError, Exception) and returns None on failure",
      "max_score": 15
    },
    {
      "name": "Progress calculation",
      "description": "Uses sync data fields (currentBlock, startingBlock, highestBlock) to calculate and display synchronization progress percentage in the format function",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-web3

tile.json