Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Solidity Laravel Package

kornrunner/solidity

PHP library for working with Solidity smart contracts, including ABI encoding/decoding and utilities for Ethereum contract interaction. Encode calls, decode results and events, and handle contract data in PHP applications. Lightweight and suitable for transaction building and event parsing.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. kornrunner/solidity is a narrowly scoped PHP helper for parsing Solidity source and extracting contract metadata (principally ABI-shaped artifacts) without shelling out to solc. That places it in the "developer tooling / codegen helper" layer rather than the runtime transaction path. It is a reasonable fit for PHP back-office tooling — contract explorers, admin dashboards that enumerate functions/events, ABI generators, or CI-side linting — but it is not a component most PHP blockchain stacks actually need at runtime. The dominant pattern in PHP (web3p and friends) is to consume committed ABI/artifact JSON produced by a real compiler. Treat this package as an optional authoring-time convenience, not an architectural dependency.

Integration feasibility. Composer-installable, MIT-licensed, and the public surface is presumably small (source in → structured ABI/metadata out), so the integration cost is low. The real feasibility question is fidelity: a source-level Solidity parser must keep pace with the language. With the last release in December 2020, support for Solidity 0.8.x semantics, inheritance resolution, interfaces, imports, and library linking is the gating unknown, not the PHP wiring.

Technical risk. The risks are concentrated and material:

  • Staleness / abandonment. No release in ~4 years, 19 stars, zero dependents. This is effectively a bus-factor-one package.
  • Correctness risk. ABI extraction that silently mis-parses inherited or overloaded functions produces wrong artifacts, which is a security-adjacent failure if those ABIs are used to drive on-chain calls.
  • Version skew. Solidity moves; parser grammars must too.

Key questions to resolve before adoption

  1. Which Solidity compiler versions does the parser's grammar cover, and against which solc version was it last validated?
  2. Does it resolve import, inheritance, interfaces, and using-for — or does it only parse a single flat file?
  3. Is the ABI output byte-comparable to solc --abi on a representative corpus?
  4. Is the maintainer responsive to security/correctness issues, and is there a fork path?
  5. Are downstream PHP version constraints (8.1/8.2/8.3) satisfied?
  6. What is the fallback when the parser fails — is solc/solc-js already available in the environment?

Integration Approach

Stack fit. Consumes cleanly as a Composer dev/auxiliary dependency in a PHP 7.4–8.x service. It should sit behind an internal abstraction (e.g., an AbiExtractor interface with a SolcAbiExtractor fallback), so the package never becomes load-bearing. If the product already runs solc in CI, this package is additive at best and should not displace the compiler.

Migration path. There is no meaningful migration to this package as a compiler replacement — don't position it that way. The realistic path is:

  • State A: ABI artifacts produced by solc in CI and committed.
  • State B (optional): Add this package as a secondary reader for tooling that needs ABI on the fly (e.g., a "paste Solidity → see ABI" utility), explicitly labeled non-authoritative.
  • State C: If the abstraction proves stable and accuracy is verified, consider it for low-risk internal flows only.

Compatibility. Two axes matter: PHP runtime version constraints and supported Solidity language versions. Verify both against the current dependency set and against the contracts actually in scope. Because the package is unmaintained, plan to vendor a fork if PHP 8.3+ deprecations surface.

Sequencing.

  1. Spike (1 week): Install, run against 10–20 representative contracts spanning 0.4.x/0.5.x/0.6.x/0.7.x/0.8.x, diff ABI output against solc.
  2. Wrap: Define the extractor interface and implement a solc fallback first.
  3. Integrate behind a flag in one non-critical tool.
  4. Evaluate error telemetry and parse-failure rates before any broadening.
  5. Decide build-vs-adopt: if the spike reveals gaps, a small wrapper around solc-js/solc is likely lower total cost than owning a parser fork.

Operational Impact

Maintenance. Effectively unmaintained. Budget for either accepting no upstream fixes or forking and owning the grammar. The MIT license makes forking legally trivial; operationally, a fork means you now own a Solidity grammar — a non-trivial, ongoing commitment.

Support. Community-only via GitHub issues, with a single contributor and no SLA. Escalation path is "we fix it ourselves." This should be documented as an accepted risk in the dependency register.

Scaling. The workload is CPU-bound parsing of small text inputs; throughput is a non-issue at typical tooling volumes (hundreds to low thousands of contracts per batch). Memory and latency are dominated by contract size, not by concurrency. No operational scaling concerns.

Failure modes.

  • Silent misparse: unsupported syntax is skipped rather than rejected, yielding an incomplete or wrong ABI. This is the highest-severity failure and argues for strict diffing against solc in CI.
  • Unsupported version: hard parse failure on newer Solidity; needs graceful degradation to the solc path.
  • Dependency rot: PHP version bumps or transitive dependency conflicts with no upstream fix.
  • Single-maintainer abandonment: repository archived or deleted; mitigated by vendoring/forking.

Ramp-up. Low for the API (small surface, Composer install), moderate for the domain: engineers must understand Solidity language semantics and ABI encoding well enough to judge whether output is correct. That reviewer skill is the actual onboarding cost, not the package itself. Plan for one engineer to own the spike and the fallback abstraction.

Recommendation. Adopt only as a non-authoritative, behind-an-interface convenience for authoring-time tooling, gated on a successful solc-diff spike. Do not adopt it as the source of truth for ABIs used to drive on-chain transactions, and do not adopt it until the Solidity-version coverage question is answered.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource