Skip to main content

all-tools-on-blockchain

All-in-one toolset for blockchain smart contract analysis. Read on-chain data, query access control roles, compare contract similarity, check deploy time, and verify bytecode.

Install

pip install all-tools-on-blockchain

Tools

Command Description
cread Read on-chain contract public view data and storage slots
acl Query OpenZeppelin AccessControl roles and members
solsim Compare similarity of Solidity contracts in a directory
deploytime Query contract deployment time
bcverify Verify on-chain bytecode against a local compiled artifact

Usage

cread — Read Contract Data

Read all public view functions and default proxy slots:

cread -a 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38

Read a specific storage slot:

cread -a 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 -s 0x0

Example output:

Contract Address: 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38
Contract Name: TimedLockBox
+--------------------------------------------+------------------+---------------------------+--------------------------------------------------------------------+
|          ABI From Which Contract           |    Data Type     |       Variable Name       |                         Value|Input Type                          |
+--------------------------------------------+------------------+---------------------------+--------------------------------------------------------------------+
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 |  no params func  |           owner           |             0x1590a7dc3485cE3D32cDAA7cB60E9F2D68116003             |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 |  no params func  |     penaltyPercentage     |                                 5                                  |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 |  no params func  |         totalFees         |                                 0                                  |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 |       slot       |        _ADMIN_SLOT        | 0x0000000000000000000000000000000000000000000000000000000000000000 |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 |       slot       |        _BEACON_SLOT       | 0x0000000000000000000000000000000000000000000000000000000000000000 |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 |       slot       |    _IMPLEMENTATION_SLOT   | 0x0000000000000000000000000000000000000000000000000000000000000000 |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 |       slot       |       _ROLLBACK_SLOT      | 0x0000000000000000000000000000000000000000000000000000000000000000 |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 | with params func | getUnlockTimeAndLockedEth |                              address                               |
| 0xb916F7A2233C90f7ca7B09f4Ece6aF9feafB8E38 | with params func |           locks           |                              address                               |
+--------------------------------------------+------------------+---------------------------+--------------------------------------------------------------------+

acl — Query Access Control

acl -a 0xYourContractAddress

Options:

  • -r / --role — Filter by role name or hash (partial match)
  • -p / --proxy — HTTP/SOCKS proxy (e.g. http://127.0.0.1:7890)
  • -o / --output — Export results to .json or .md
  • -c / --chain — Chain ID (default: 1 for Ethereum Mainnet)

solsim — Contract Similarity

Compare all .sol files within a single directory:

solsim -d ./contracts

Cross-compare .sol files between two directories:

solsim -d ./contracts-v1 -d2 ./contracts-v2

Options:

  • -d2 / --dir2 — Second directory to cross-compare against the first
  • -t / --threshold — Minimum similarity ratio (0.0–1.0, default 0.0)

deploytime — Deploy Time

deploytime -a 0xYourContractAddress

Options:

  • -p / --proxy — HTTP/SOCKS proxy
  • -c / --chain — Chain ID (default: 1)

bcverify — Bytecode Verify

Verify on-chain bytecode matches a local compiled artifact:

bcverify -a 0xYourContractAddress -f ./artifacts/Contract.json

Options:

  • -f / --file — Local bytecode file (Hardhat/Foundry JSON artifact, or .bin/.hex)
  • -p / --proxy — HTTP/SOCKS proxy
  • --strict — Strict mode: do not ignore metadata differences
  • -c / --chain — Chain ID (default: 1)

Supported Chains

Any EVM-compatible chain supported by Etherscan V2 API. Use -c to specify the chain ID:

Chain ID
Ethereum 1
BSC 56
Polygon 137
Arbitrum 42161
Optimism 10
... ...

License

MIT

Metadata

Release files for all-tools-on-blockchain 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for all-tools-on-blockchain 0.0.4
File Size Uploaded Provenance
all_tools_on_blockchain-0.0.4.tar.gz 16.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for all-tools-on-blockchain 0.0.4
File Interpreter ABI Platform
all_tools_on_blockchain-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 31.9 kB

Release files / all_tools_on_blockchain-0.0.4.tar.gz

Download URL all_tools_on_blockchain-0.0.4.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cefdf6312194e8b0445593ae336435e49fb484bb697622aab69901c5e384df7d
BLAKE2b-256 checksum
How to use checksums
01700967cc0392bbd90b1e6aa909bedae3d74a4e7b0fb5d6c30a196ed0bbbf8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / all_tools_on_blockchain-0.0.4-py3-none-any.whl

Download URL all_tools_on_blockchain-0.0.4-py3-none-any.whl
Size 15.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a5cc15fb1f6e4e88c91851fb3d149d1de06a992a0b5e0dce2ec7fbc9bd5b121
BLAKE2b-256 checksum
How to use checksums
84935eb6bb6c8806b5a8ab5696b7741daaf680b51ab0b3a0a2c6e28f79605afd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Security for all-tools-on-blockchain 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page